From 2052c16d21d50596adc11060a8a7eee21eccb8d9 Mon Sep 17 00:00:00 2001 From: Raphael Collet Date: Mon, 17 Nov 2014 11:35:06 +0100 Subject: [PATCH] [FIX] ir_model: on a custom model, _rec_name should be 'x_name' if it exists --- openerp/addons/base/ir/ir_model.py | 7 +------ openerp/models.py | 2 ++ 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/openerp/addons/base/ir/ir_model.py b/openerp/addons/base/ir/ir_model.py index 307b32516a3..c50044d3ff9 100644 --- a/openerp/addons/base/ir/ir_model.py +++ b/openerp/addons/base/ir/ir_model.py @@ -228,12 +228,7 @@ class ir_model(osv.osv): _module = False _custom = True - obj = CustomModel._build_model(self.pool, cr) - obj._rec_name = CustomModel._rec_name = ( - 'x_name' if 'x_name' in obj._columns else - list(obj._columns)[0] if obj._columns else - 'id' - ) + CustomModel._build_model(self.pool, cr) class ir_model_fields(osv.osv): _name = 'ir.model.fields' diff --git a/openerp/models.py b/openerp/models.py index df46fce4d5d..10ccb8955b9 100644 --- a/openerp/models.py +++ b/openerp/models.py @@ -2991,6 +2991,8 @@ class BaseModel(object): "Invalid rec_name %s for model %s" % (cls._rec_name, cls._name) elif 'name' in cls._fields: cls._rec_name = 'name' + elif 'x_name' in cls._fields: + cls._rec_name = 'x_name' def fields_get(self, cr, user, allfields=None, context=None, write_access=True): """ fields_get([fields])