我正在使用Odoo 12,并试图显示在formView中的选择字段中,
第一个选择字段具有2个值,但是第二个选择字段具有4个值,对于每个从第一个选择字段中选择的字段,其值为2。
我正在提供伪代码,因为我无法显示生产代码。
mainfile.py
的内容是
MainClassFile(models.Model)类:
first_field = fields.Selection([ ('first':'Item-1'), ('second':'Item-2')],string="first-Selection")
second_field = fields.Selection([('1','one')
,('2','two')
,('3','three')
,('4','four')],
string='Only-two-fields')
@api.onchange('first_field')
def show_two_fields_only(self):
if self.first_field == 'first':
return {'domain':{second_field = fields.Selection([('1','one')
,('2','two')]
else
return {'domain':{second_field = fields.Selection([('3','three')
,('4','four')]
同一py文件的xml文件,其form-view为:
<group name="default" col="4" colspan="2">
<field name="first_field" required="1" default_focus="1" onchange="show_two_fields_only('first_type'/>
<field name="second_field" required="1"/>
</group>
如何根据从first_field中选择的值来对second_field进行域过滤,
例如如果选择的first_value为'first',则表单应仅将second_field值显示为(1,2),
如果选择的first_value为'second',则表单应仅将second_field值显示为(3,4),
作为下拉列表吗?