2012-05-12 94 views
1

我正在OpenERP中編寫一個模塊,它將從Accounts模塊繼承。下面是我的簡化代碼AttributeError:'NoneType'對象沒有屬性'_columns'

from osv import fields, osv 
import decimal_precision as dp 

class account_molly(osv.osv): 

    def __computeOB(self, cr, uid, ids, context=None): 
     res = [] 
     return 0 

    def __computeCB(self, cr, uid, ids, context=None): 
     res = [] 
     return 0 

    _name = "account.molly" 
    _description = "This is Molly Special Account View" 
    _inherit = "account.account" 
    _columns = { 
     'opening_balance': fields.function(__computeOB, digits_compute=dp.get_precision('Account'), method=True, string='Opening Balance'), 
     'end_balance': fields.function(__computeCB, digits_compute=dp.get_precision('Account'), method=True, string='End Balance'), 
    } 

account_molly() 

# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: 

當我嘗試安裝模塊,我得到

AttributeError: 'NoneType' object has no attribute '_columns'
請可能是什麼問題

+0

? – cobie

+0

根據OpenERP [文檔](http://doc.openerp.com/v6.0/developer/2_5_Objects_Fields_Methods/object_attributes.html),您需要有一個'_name = name.of.the.object'屬性。 – 2012-05-12 16:15:12

+0

即使名稱屬性,它仍然給我同樣的錯誤。我只是刪除它,以便它想要sale_crm模塊中的主要python文件 –

回答

3

請檢查您所創建的模塊的依賴性。在openerp .py文件中,在依賴列表中如果未添加「帳戶」,請添加它。如果這沒有解決您的問題,請嘗試導入或安裝時提供錯誤日誌

-1

這樣做解決問題嗎?

class account_molly(osv): 
    ... 

你似乎混合模塊和階級和階級屬性

+0

在任何OpenERP文檔中,我從來沒有見過類似的東西。無論如何,我嘗試了它,這是我得到TypeError的錯誤:調用元類時出錯基地 模塊.__ init __()最多2個參數(給出3) –