2017-05-18 42 views
0

我開始學習odoo,當我嘗試導入CSV文件時遇到問題。問題是出現這樣的:使用方法導入odoo 8上的文件CSV many2one

Cannot execute name_search, no _rec_name defined on prov.model 

我創造這樣的代碼:

from openerp import models, fields, api 

class Practice(models.Model): 
    _name = 'practice.practice' 
    _inherit = 'res.partner' 

    prov = fields.Many2one(
     'prov.model', 
     'name_prov', 
     # string='Provinc', 
    ) 

class Provinc(models.Model): 
    _name = 'prov.model' 

    name_prov = fields.Char(
     string='Provinc', 
    ) 

我不知道我必須做的,我想修改我的代碼,但它仍然是不行。

回答

0

這是因爲當你上搜索「名稱」字段中的模型顯示在下拉

數據many2one下拉name_search方法調用單擊既然你沒有「名稱」字段中,並沒有規定_rec_name無論如何Odoo無法識別您想要在多屏幕下拉菜單中顯示的字段並提供錯誤信息。

您需要在_rec_name中提及name_prov字段以告訴odoo這是將在many2one下拉列表中顯示的名稱字段。

進行此更改。

class Provinc(models.Model): 
    _name = 'prov.model' 
    _rec_name ='name_prov'  #this tells odoo use this field for m2o field 

    name_prov = fields.Char(string='Provinc') 

And correct Many2one field definition # doesn't need specify inverse_name like One2many

prov = fields.Many2one('prov.model')

+0

現在我得到了新的錯誤,錯誤的是 DataError:整數無效的輸入語法:「」 –

+0

哦,是的!您不需要在Many2one字段聲明中指定任何inverse_name#在答案中添加檢查它。 – DexJ

+0

對不起,但它仍然是錯誤的。錯誤是: 沒有匹配的記錄在第2行的字段「」中找到「」「 –