更改选择字段odoo 8

时间:2016-08-23 01:14:01

标签: openerp 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"/>

但是我没有在选择字段中看到任何值。

请帮助。

谢谢,

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

这是来自Odoo 8中的'account.invoice'的示例:

@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')

这可以帮助您解决问题。