diff options
Diffstat (limited to 'odoo/fields.py')
| -rw-r--r-- | odoo/fields.py | 5 |
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)) |
