diff --git a/odoo/addons/base/models/ir_model.py b/odoo/addons/base/models/ir_model.py index 7e48c328a58..7831f6a308a 100644 --- a/odoo/addons/base/models/ir_model.py +++ b/odoo/addons/base/models/ir_model.py @@ -1873,9 +1873,11 @@ class IrModelConstraint(models.Model): conname = '%s_%s' % (model._table, key) module = constraint_module.get(key) record = self._reflect_constraint(model, conname, 'u', cons_text(definition), module, message) + xml_id = '%s.constraint_%s' % (module, conname) if record: - xml_id = '%s.constraint_%s' % (module, conname) data_list.append(dict(xml_id=xml_id, record=record)) + else: + self.env['ir.model.data']._load_xmlid(xml_id) if data_list: self.env['ir.model.data']._update_xmlids(data_list) diff --git a/odoo/addons/base/tests/test_ir_actions.py b/odoo/addons/base/tests/test_ir_actions.py index 0579d453b5b..6dc9dddee51 100644 --- a/odoo/addons/base/tests/test_ir_actions.py +++ b/odoo/addons/base/tests/test_ir_actions.py @@ -736,7 +736,7 @@ class TestCustomFields(TestCommonCustomFields): # create a non-computed field, and assert how many queries it takes model_id = self.env['ir.model']._get_id('res.partner') - query_count = 44 + query_count = 48 with self.assertQueryCount(query_count): self.env.registry.clear_cache() self.env['ir.model.fields'].create({