summaryrefslogtreecommitdiff
path: root/odoo/fields.py
diff options
context:
space:
mode:
Diffstat (limited to 'odoo/fields.py')
-rw-r--r--odoo/fields.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/odoo/fields.py b/odoo/fields.py
index fc159a3dc89..0396437a446 100644
--- a/odoo/fields.py
+++ b/odoo/fields.py
@@ -2978,6 +2978,9 @@ class _RelationalMulti(_Relational):
value = record.env[self.comodel_name].browse(value)
if isinstance(value, BaseModel) and value._name == self.comodel_name:
+ def get_origin(val):
+ return val._origin if isinstance(val, BaseModel) else val
+
# make result with new and existing records
inv_names = {field.name for field in record._field_inverses[self]}
result = [(6, 0, [])]
@@ -2996,7 +2999,7 @@ class _RelationalMulti(_Relational):
values = record._convert_to_write({
name: record[name]
for name in record._cache
- if name not in inv_names and record[name] != origin[name]
+ if name not in inv_names and get_origin(record[name]) != origin[name]
})
if values:
result.append((1, origin.id, values))