Odoo 如何根据条件创建动态选择字段?

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:

我正在学习用奥多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:
            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')