odoo 中的_register_hook,_patch_method

网友投稿 1550 2022-10-11 12:40:05

odoo 中的_register_hook,_patch_method

先给个示例:

def _register_hook(self): """ """ def test_patch(self): print('call test patch') raise exceptions.UserError('test patch') print('run _register_hook') self._patch_method('unlink',test_patch)

​​_register_hook​​ 在服务启动时就会执行,故可以做很多预操作​​_patch_method​​ 可以将原有的方法给替换掉,相当于复写,如果调用了原有的方法,也有点类似于装饰器的功能感觉​​_patch_method​​ 提供了更灵活的代码处理方式,相对于直接将写代码,可以利用该功能做出不少标准工具.比如审批工具,日志工具.

更高级的写法可以参考​​auditlog​​模块

懂得,原来世界如此简单!

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:微信小程序-月经管理、月经知识列表(月经期间小)
下一篇:基于qrcodejs的微信小程序二维码生成库(用qrcode生成二维码)
相关文章