如何在odoo模型中创建和访问实例变量

时间:2016-01-13 09:42:28

标签: python openerp

我的代码是:

class way_bill(osv.osv):
    _name = "way_bill"
    ....
    def method1(...):
       self.ID = self.get_id_invoice_id(...)

    def method2(...):
        for item self.browse(cr, uid, self.ID, context=context):
        ....

当我尝试访问self.ID表单method2时,会引发错误。

如何存储和使用self.ID

1 个答案:

答案 0 :(得分:1)

首先:您使用哪个版本进行编码? .v7或.v8?

如果ID是整数,则在.v8中你可以使用装饰器@depends这样的东西:

@api.depends('ID')
def method2(self):
    for item self.browse(self.ID):
    ...

我希望这对你有所帮助。

修改

在.v7中它应该是这样的:

def method1(...):
    return { 'values': { 'ID': self.get_id_invoice_id(...)}}

def method2(...):        
    record = self.browse(cr, uid, ids[0], context=context)        
    obj_inv = self.browse(cr, uid, record.ID, context=context)        
    ...

我不知道你锁定了什么ID,甚至在get_id_invoice_id中你是如何做到这一点的,但如果你应用这些更改,它应该完美地工作......