From 0d73dae9efd0a5883a9ab75982115f856890cf81 Mon Sep 17 00:00:00 2001 From: Raphael Collet Date: Fri, 18 Aug 2017 13:44:00 +0200 Subject: [PATCH] [FIX] base: keep the model cache consistent Do not remove fields from models except for custom fields. Removing a base field from a model screws up the model cache: that field may be required to speed up the setup of the model in another registry. --- openerp/addons/base/ir/ir_model.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/openerp/addons/base/ir/ir_model.py b/openerp/addons/base/ir/ir_model.py index 40b1626034d..cefe5004e2a 100644 --- a/openerp/addons/base/ir/ir_model.py +++ b/openerp/addons/base/ir/ir_model.py @@ -420,7 +420,8 @@ class ir_model_fields(osv.osv): if field.state == 'manual' and field.ttype == 'many2many': rel_name = field.relation_table or model._fields[field.name].relation tables_to_drop.add(rel_name) - model._pop_field(cr, uid, field.name, context=context) + if field.state == 'manual': + model._pop_field(cr, uid, field.name, context=context) if tables_to_drop: # drop the relation tables that are not used by other fields