Получить последние обновленные данные из поля one2many
Как я могу получить данные последних обновленных данных из поля 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 ответ
Переменная Temperature_list является массивом, вы можете получить доступ к последней позиции с помощью температурного списка [:-1], поэтому, если вы измените строку:
self.temperature=temperature_list[-1]
от
self.temperature=temperature_list[:-1]
Должно работать