是否可以动态创建选择字段?

问题描述 投票:0回答:1
vt_invoice_type_dinamic = fields.Selection([
('1', 'Sale'),
('2', 'Education'),
('14', 'Services'),
('22', 'Invoice WA'),
], string='Siat invoice type')

实际上我有这个字段有四个值可供选择,我需要显示 1 和 2,这取决于一个名为 vt_flag 的布尔字段。

vt_flag = fields.Boolean(string='Flag for dynamic invoice', default=False)

如果该字段为 True 我只需要显示 1 和 2 值,如果为 False 则显示所有值 我的问题是..这可能吗?我该怎么做?

python odoo odoo-16
1个回答
0
投票

试试这个

vt_invoice_type_dinamic = fields.Selection(selection='select_filter', string='Siat invoice type')

@api.model
def select_filter:
    if self.vt_flag:
        return ([('1', 'Sale'),('2', 'Education')])
    else:
        return ([('14', 'Services'),('22', 'Invoice WA')])

© www.soinside.com 2019 - 2024. All rights reserved.