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

How can I create and access instance variables in odoo models

我的代码是:

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

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

如果 ID 是一个整数,在 .v8 中你可以使用装饰器 @depends shomething like this:

@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 中是怎么做到的,但如果您应用更改,它应该可以完美地工作...