【问题标题】:is it possible to add new methods to a inherited module in openerp是否可以向 openerp 中的继承模块添加新方法
【发布时间】:2014-08-01 20:40:56
【问题描述】:

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

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

提前致谢。

【问题讨论】:

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

标签: inheritance openerp openerp-7


【解决方案1】:

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

_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']),
    ]

这将检查资产的purchase_value是否大于0,如果不是则返回False,这样用户将无法保存他的记录。更重要的是,您可以轻松地覆盖继承模型中使用的函数,使其按照您希望的方式工作。

【讨论】:

    猜你喜欢
    • 2014-09-18
    • 1970-01-01
    • 1970-01-01
    • 2020-01-31
    • 1970-01-01
    • 2022-08-03
    • 2014-01-13
    • 1970-01-01
    • 2013-05-02
    相关资源
    最近更新 更多