我必须根据其他列创建一个选择字段。我的意思是数据来自其他表,但基于当前表列值。所以我创建了一个选择字段如下:
pull_location = fields.Selection(selection='_get_pull_locations',string='Pull Location')
,功能如下:
@api.multi
def _get_pull_locations(self):
data=[]
** Get the values from other table based on current record **
return [('value1', 'String 1'), ('value2', 'String 2')]
总是当我调试时,我将自己作为空类对象(stock.test())。方案是我在stock.test中有一个名为zone的列,我有另一个名为stock.location的表,所以对于当前记录,我检查stock.location表,其中列pull_zone == stock of stock.test,如果是,则附加选择(pull_location)具有该值。 但总是对象是空的。 我试过@ api.one,@ api.multi,@ api.model,什么都没发生。
请帮忙。 谢谢,
答案 0 :(得分:1)
用以下内容替换您的代码:
@api.multi
def _get_pull_locations(self):
** Get the values from other table based on current record **
return [
('value1', 'String 1'),
('value2', 'String 2')
]
pull_location = fields.Selection('_get_pull_locations', string='Pull Location')
然后,重新启动Odoo服务器并升级您的模块。