2016-01-13 68 views
0

我的代码是:如何创建和访问实例变量odoo模式

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

+0

你是否缩进“方法”,使他们成为类的一部分? –

+0

@Chris Martin编号 – Zety

回答

1

第一:你使用哪个版本进行编码? .v7或.v8?

如果ID是一个整数,在.v8你可以使用一个装饰@depends shomething这样的:

@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,但如果你应用的变化,它应该工作完美...

+0

我使用openerp(.v7)。 – Zety

+0

在.v7中,您不会对'self.my_fiell = value'进行赋值,该语法仅适用于.v8,我可以编辑我的答案以向您展示如何执行此操作。 –

+0

非常感谢。 – Zety