Inheritance 是否可以向openerp中的继承模块添加新方法

Inheritance 是否可以向openerp中的继承模块添加新方法,inheritance,openerp,openerp-7,Inheritance,Openerp,Openerp 7,我有一个继承的“购买”模块。 如果我在purchase.py中添加一个新方法,我就可以在我的视图(表单)中使用它。但是,如果我将其添加到继承的模块中。我无法在窗体视图中使用它 有没有办法在继承的模块中添加我的新方法 提前谢谢 基本上,要使代码在继承模块中工作,您必须使用: _inherit = 'purchase.order' 然后从更新的xml视图调用函数。例如,检查如下代码: class account_asset_asset(osv.osv): _inherit = 'acco

我有一个继承的“购买”模块。 如果我在purchase.py中添加一个新方法,我就可以在我的视图(表单)中使用它。但是,如果我将其添加到继承的模块中。我无法在窗体视图中使用它

有没有办法在继承的模块中添加我的新方法


提前谢谢

基本上,要使代码在继承模块中工作,您必须使用:

_inherit = 'purchase.order'
然后从更新的xml视图调用函数。例如,检查如下代码:

class account_asset_asset(osv.osv):

    _inherit = 'account.asset.asset'

    def _check_value(self, cr, uid, ids, context=None):
        for asset in self.browse(cr, uid, ids, context=context):
            if asset.purchase_value < 0.0:
                return False
        return True

    _constraints = [
        (_check_value, 'Asset value must be greater than 0!', ['purchase_value']),
    ]
分类账户\资产\资产(osv.osv):
_继承='account.asset.asset'
定义检查值(self、cr、uid、ids、context=None):
对于self.browse中的资产(cr、uid、ID、context=context):
如果asset.purchase\u值<0.0:
返回错误
返回真值
_约束=[
(_check_value,'资产价值必须大于0!',['purchase_value']),
]

这将检查资产的购买价值是否大于0,如果不大于0,则返回False,这样用户将无法保存其记录。此外,您可以轻松重写继承模型中使用的函数,使其按照您希望的方式工作。

是的,您可以在继承模块中添加新方法,将代码粘贴到此处