diff --git a/odoo/addons/base/i18n/base.pot b/odoo/addons/base/i18n/base.pot index b365aaa0dbd..f90d38001b7 100644 --- a/odoo/addons/base/i18n/base.pot +++ b/odoo/addons/base/i18n/base.pot @@ -12443,6 +12443,13 @@ msgstr "" msgid "Compute" msgstr "" +#. module: base +#. odoo-python +#: code:addons/base/models/ir_model.py:0 +#, python-format +msgid "Compute method cannot depend on field 'id'" +msgstr "" + #. module: base #: model:ir.module.module,summary:base.module_sale_subscription_taxcloud msgid "Compute taxes with TaxCloud after automatic invoice creation." diff --git a/odoo/addons/base/models/ir_model.py b/odoo/addons/base/models/ir_model.py index 9a7f5864a9d..8eb30f158ee 100644 --- a/odoo/addons/base/models/ir_model.py +++ b/odoo/addons/base/models/ir_model.py @@ -672,6 +672,8 @@ class IrModelFields(models.Model): names = seq.strip().split(".") last = len(names) - 1 for index, name in enumerate(names): + if name == 'id': + raise UserError(_("Compute method cannot depend on field 'id'")) field = model._fields.get(name) if field is None: raise UserError(_("Unknown field %r in dependency %r") % (name, seq.strip()))