From b9f72dae74b04c44d8c3e7202f4688ecf64c3065 Mon Sep 17 00:00:00 2001 From: Martin Trigaux Date: Mon, 24 Feb 2014 17:19:18 +0100 Subject: [PATCH] [FIX] orm: do not drop low level columns (aka 'magic columns') when deleting ir.model.fields lp bug: https://launchpad.net/bugs/1262150 fixed bzr revid: mat@openerp.com-20140224161918-9pe1x3jeno8t82p1 --- openerp/addons/base/ir/ir_model.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/openerp/addons/base/ir/ir_model.py b/openerp/addons/base/ir/ir_model.py index 357aad7bfc5..ec89fe8bc70 100644 --- a/openerp/addons/base/ir/ir_model.py +++ b/openerp/addons/base/ir/ir_model.py @@ -33,7 +33,7 @@ from openerp.osv.orm import Model from openerp.tools.safe_eval import safe_eval as eval from openerp.tools import config from openerp.tools.translate import _ -from openerp.osv.orm import except_orm, browse_record +from openerp.osv.orm import except_orm, browse_record, MAGIC_COLUMNS _logger = logging.getLogger(__name__) @@ -302,6 +302,8 @@ class ir_model_fields(osv.osv): def _drop_column(self, cr, uid, ids, context=None): for field in self.browse(cr, uid, ids, context): + if field.name in MAGIC_COLUMNS: + continue model = self.pool.get(field.model) cr.execute('select relkind from pg_class where relname=%s', (model._table,)) result = cr.fetchone()