2016-01-13 70 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