gpt4 book ai didi

python - 如何覆盖odoo11中的主要创建方法?

转载 作者:行者123 更新时间:2023-12-04 00:53:52 24 4
gpt4 key购买 nike

我有很多模型(大约 30 个)覆盖创建方法来检查许可证状态,所有模型都是这样的:

class Model1(models.Model):
_name='testing_model1'

@api.model
def create(self)
check_license(self)
return super(Model1, self).create(values)

有什么方法可以在主创建中添加“check_license”函数,这样我就不必在每个模型中都编写它了吗?

最佳答案

你可以通过 munkey patching 来做到这一点,但我真的不建议这样做,你应该做的是创建一个小模块来做这个并确保所有其他模块都依赖于它,这样调用检查只会进行一次。

当您在两个模块中重复一段代码时,建议您考虑将其提取到一个小模块中,并确保这两个模块都依赖它。

就像您的情况一样,您可以创建模块 check_license 将所有与此操作相关的代码放入其中修复对其他 30 个模块的依赖,这将确保当您安装其中一个模块时,新模块将首先安装,主要好处是即使安装了所有 30 个模块,检查许可证的调用也只会发生一次

关于python - 如何覆盖odoo11中的主要创建方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64342734/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com