From fcb77f0f53fbd24d29d13d2739e0eb395c981cb9 Mon Sep 17 00:00:00 2001 From: Raphael Collet Date: Tue, 20 Aug 2019 15:56:34 +0000 Subject: [PATCH] [FIX] fields: use column format in towrite --- odoo/fields.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/odoo/fields.py b/odoo/fields.py index 295ac96cbf4..a9cab8ae48a 100644 --- a/odoo/fields.py +++ b/odoo/fields.py @@ -998,7 +998,9 @@ class Field(MetaField('DummyField', (object,), {})): # update towrite if self.store: towrite = records.env.all.towrite[self.model_name] - column_value = self.convert_to_column(cache_value, records) + record = records[:1] + write_value = self.convert_to_write(cache_value, record) + column_value = self.convert_to_column(write_value, record) for record in records.filtered('id'): towrite[record.id][self.name] = column_value @@ -1435,9 +1437,9 @@ class _String(Field): # update towrite if modifying the source if update_column: towrite = records.env.all.towrite[self.model_name] - column_value = self.convert_to_column(cache_value, records) for record in records.filtered('id'): - towrite[record.id][self.name] = column_value + # cache_value is already in database format + towrite[record.id][self.name] = cache_value if self.translate is True: tname = "%s,%s" % (records._name, self.name) records.env['ir.translation']._set_source(tname, records.ids, value) @@ -2424,9 +2426,9 @@ class Many2one(_Relational): # update towrite if self.store: towrite = records.env.all.towrite[self.model_name] - write_value = self.convert_to_column(self.convert_to_write(cache_value, records), records) for record in records.filtered('id'): - towrite[record.id][self.name] = write_value + # cache_value is already in database format + towrite[record.id][self.name] = cache_value return records