diff --git a/odoo/addons/base/models/ir_model.py b/odoo/addons/base/models/ir_model.py index 28097acf665..6a43eca2783 100644 --- a/odoo/addons/base/models/ir_model.py +++ b/odoo/addons/base/models/ir_model.py @@ -855,8 +855,13 @@ class IrModelFields(models.Model): keys = [key for key in new_vals if old_vals[key] != new_vals[key]] self.pool.post_init(record.modified, keys) old_vals.update(new_vals) - if module and not field.manual and (module == model._original_module or module in field._modules): - to_xmlids.append(name) + if module and (module == model._original_module or module in field._modules): + # remove this and only keep the else clause if version >= saas-12.4 + if field.manual: + self.pool.loaded_xmlids.add( + '%s.field_%s__%s' % (module, model._name.replace('.', '_'), name)) + else: + to_xmlids.append(name) if to_insert: # insert missing fields