如何从one2many字段获取上次更新的数据。我使用了以下代码,但是当我创建新记录时它不起作用,而对于现有记录,它可以正常工作。
代码
class location(models.Model):
_name = 'weather.location'
name = fields.Char(string="City Name",required=True)
weather_ids = fields.One2many('weather.weather',
'location_id', string="Weather Details", domain=([('forecast','=',False)]))
temperature = fields.Float(string='Temperature', compute='weather_details')
def weather_details(self):
for record in self:
temperature_list = []
for line in record.weather_ids:
temperature_list.append(line.temperature)
self.temperature = record.temperature_list[-1]
当我创建新的错误:
时self.temperature = temperature_list [-1]
IndexError:列表索引超出范围
任何人都可以帮助如何从one2many fiel获取最新更新的数据
答案 0 :(得分:1)
变量temperature_list是一个数组,您可以使用temperature_list [:-1]访问最后一个位置,因此,如果更改该行:
self.temperature=temperature_list[-1]
通过
self.temperature=temperature_list[:-1]
必须工作