Я использую 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')]
XML-файл для того же py-файла, имеющий вид формы:
<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>
как я могу фильтровать домен second_field, основываясь на значении, выбранном из first_field,
например. если first_value выбрано 'first', то форма должна показывать только значения second_field как (1,2),
, если first_value выбрано 'second', тогда форма должна показывать только значения second_field как (3,4),
как выпадающий список выбора?