2016-08-23 88 views
1

我試圖根據模型中的其他字段生成不同的選擇選項。我在Odoo 8 下面的工作是代碼:更改選擇字段odoo 8

我的模型:(test.py)

type = fields.Selection(selection='_get_selection', string='Type') 

@api.onchange('role_name') 
def _get_selection(self): 
    choise = [] 
    if self.role_name == 'primary': 
     choise.append(('unit','Unit Case')) 

    if self.role_name == 'reserve': 
     choise.append(('res','Reserve Case')) 

    return choise 

的觀點:(TEMPLATE.XML)

<field name="type" widget="selection"/> 

但我不在選擇字段中看不到任何值。

請幫忙。

感謝,

回答

1
@api.model 
def _get_selection(self): 
    #DO SOMETHING 
    return choise 
type = fields.Selection(selection=_get_selection, string='Type') 
+1

嗨,它不工作。 – user280960

1

這是從 'account.invoice' 在Odoo 8的例子:

@api.model 
def _get_reference_type(self): 
    return [('none', _('Free Reference'))] 

reference_type = fields.Selection('_get_reference_type', string='Payment Reference', 
    required=True, readonly=True, states={'draft': [('readonly', False)]}, 
    default='none') 

這會幫助你解決這個問題。

+0

它不起作用。 – user280960

+0

你得到的錯誤是什麼?當你嘗試上面的代碼時,有什麼行爲?一個簡單的「它不起作用」並不能幫助我們解決問題。嘗試更具體。 – Bhavya

+0

嗨Bhavya,首先在回答問題之前,你應該知道問題中提出了什麼。我指定取決於模型的其他領域。所以它應該有@ api.onchange(),這是我寫的。其次,我沒有得到任何錯誤,只有選擇字段是空的(即在選擇中沒有看到選項)。 – user280960

相關問題