2015-09-04 44 views
0

我正在使用openerp7。我有一個on_change函數讓我回到模型ID。我怎樣才能得到模型的名稱? 這是到目前爲止我的代碼:使用onchange函數在openerp/odoo中獲取型號名稱而不是型號ID

_columns={ 
    'model': fields.many2one('ir.model', string='Models'), 
    'model_name': fields.char('Model name') 
} 

def onchange_model(self, cr, uid, ids, model, context=None): 
    print model #gives me back the id of the model(if i choose res.partner it gives me {int}73) 
    # [...] 
<field name="model_name" on_change="onchange(model)"/> 

所以我的問題很簡單:我怎樣才能得到模型的名稱(例如res.partner)。

+0

你的意思是在Python代碼?試試'self._name' – ChesuCR

回答

2

檢查,如果這個工程(我沒有嘗試,但它應該工作)

ir_model_obj = self.pool.get('ir.model') 
models_ids = ir_model_obj.search(cr, uid, [('id', '=', model)]) 
for record in ir_model_obj.browse(cr, uid, models_ids, context=context): 
    _logger.info(record.model) # You get the model here 
    _logger.info(record.name) # You get the model name here 
+0

record.name給我的模型的名稱。它是working.thnx – pankar

+0

好吧,歡迎,我添加了與模型名稱的另一行到答案:) – ChesuCR