Odoo 如何根据条件创建动态选择字段?
我正在学习用奥多11CE开发一些东西。 我想用条件填充“filelds.Selection” 例如: 如果我更改CRM lead的阶段,x_状态选择字段也将更改 这是我的手机,但我不工作 类MYLead(models.Model): _继承=['crm.lead']Odoo 如何根据条件创建动态选择字段?,odoo,Odoo,我正在学习用奥多11CE开发一些东西。 我想用条件填充“filelds.Selection” 例如: 如果我更改CRM lead的阶段,x_状态选择字段也将更改 这是我的手机,但我不工作 类MYLead(models.Model): _继承=['crm.lead'] def _get_status_list(self): vals = [] for rec in self: #New if rec.stage_id == 1:
def _get_status_list(self):
vals = []
for rec in self:
#New
if rec.stage_id == 1:
vals.extend([('0', 'Pending'), ('1', 'Ready')])
#Qualified
elif rec.stage_id == 2:
vals.extend([('0', 'Pending'), ('1', 'Waiting])
#Proposition
elif rec.stage_id == 3:
else:
vals.extend([('0', 'Processing'), ('1', 'Approve'), ('2', 'Pending'), ('-1', 'Reject')])
return vals
x_status = fields.Selection(selection=_get_status_list, string='Status')
这是因为
self
是空的,所以它根本不循环
选择
属性在模块更新时填充,而不是在记录创建时填充它仅执行
不能动态填充选择
的元素,必须以静态方式填充。例如
def _get_status_list(self):
return [(1, 'option1'), ('2', 'option2')]
x_status = fields.Selection(selection=_get_status_list, string='Status')