我有一个继承的“购买”模块。 如果我在purchase.py中添加一个新方法,我可以在我的视图(表单)中使用它。但是,如果我在继承模块中添加它。我无法在表单视图中使用它。
有没有办法在继承的模块中添加我的新方法?
提前致谢。
答案 0 :(得分:2)
基本上,您需要为代码在继承模块中工作做什么:
_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,这样用户将无法保存他的记录。更重要的是,您可以轻松覆盖继承模型中使用的函数,以便它以您希望的方式工作。