2017-10-09 85 views
0

我繼承(res.partner)銷售客戶表單。並添加一些添加字段進行更改。現在,當在Many2one類型中調用此表單另一個地方時,只顯示下拉的客戶名稱。如何在下拉菜單中顯示寵物名稱?如何從Odoov10的銷售客戶表單中選擇寵物名稱

我的代碼是在這裏:

Python代碼:

class customer_information(models.Model): 
    _inherit = "res.partner" 

    pet_name = fields.Char("Pet Name") 
    dog_cat = fields.Selection([('dog', 'Dog'), ('cat', 'Cat')], string="Dog/Cat") 
    species = fields.Many2one('species.pet', string="Species") 
    pet_size = fields.Selection([('large', 'Large'), ('medium', 'Medium'), ('small', 'Small')], string="Size") 

模塊,我想愛稱:

class machine_weight(models.Model): 
    _name = 'machine.weight' 

    machine_id = fields.Many2one('sale.pet', string='Machine Weight', ondelete='cascade', index=True, 
           copy=False) 

    pet = fields.Many2one('res.partner.pet_name') 
    weight = fields.Integer() 
    price = fields.Integer() 

回答

1

您需要使用name_get梅索德:

@api.multi 
def name_get(self): 
    result = [] 
    for record in self: 
     name = record.name 
     if record.pet_name : 
      name = '[' + record.pet_name + ']' + ' ' + record.name 
     result.append((record.id, name)) 
    return result 
+0

ü可以解釋我如何完成這個功能從「res.partner pet_name場」的形式? –

+0

我的功能不工作後For循環(對於自我記錄:),我稱之爲功能如下: pet = fields.Many2one('res.partner',change_default = True,default = name_get) –

+0

您不調用此函數,此函數用於更改記錄的名稱, –

0

此功能爲問題提供解決方案。所以,問題就解決了

@api.multi 
def name_get(self): 
    result = [] 
    for record in self: 
     name = '[' 
     if record.pet_name: 
      name += record.pet_name + ']' + ' ' + record.name 
     else: 
      name += '] ' + record.name 
     result.append((record.id, name)) 
    return result 
相關問題