从one2many字段获取数据上次更新的数据

时间:2018-04-04 08:59:59

标签: odoo odoo-10

如何从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获取最新更新的数据

1 个答案:

答案 0 :(得分:1)

变量temperature_list是一个数组,您可以使用temperature_list [:-1]访问最后一个位置,因此,如果更改该行:

self.temperature=temperature_list[-1]  

通过

self.temperature=temperature_list[:-1] 

必须工作