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])