odoo 8选择字段自我总是空的

时间:2016-10-18 03:55:32

标签: openerp odoo-8

我必须根据其他列创建一个选择字段。我的意思是数据来自其他表,但基于当前表列值。所以我创建了一个选择字段如下:

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,什么都没发生。

请帮忙。 谢谢,

1 个答案:

答案 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服务器并升级您的模块。