[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
This commit is contained in:
Martin Trigaux 2014-02-24 17:19:18 +01:00
parent b0d401d6e5
commit b9f72dae74
1 changed files with 3 additions and 1 deletions

View File

@ -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()