gpt4 book ai didi

python - Odoo 11+ 如何在不覆盖每个调用的情况下覆盖函数参数和对它的所有调用

转载 作者:太空宇宙 更新时间:2023-11-04 01:53:06 25 4
gpt4 key购买 nike

我想覆盖 odoo 中的 uom._compute_price() 和 compute_quantity() 以添加产品作为参数。

问题是这些函数在许多其他模块的许多其他函数中被调用,例如股票、账户、销售、购买。

所以我必须重写每个大约出现 140 次的调用函数。

有没有更好的方法可以在不修改 140 调用的情况下实现这一点?

例如。在覆盖的函数中,我可以获得原始调用者对象及其属性吗?

最佳答案

如果有办法从 self 或任何其他对象获取产品,您可以使 product_id 成为仅关键字参数并检查它不是 None,否则您可以从一个对象中自行设置它。

      def _compute_price(self, same_arguments,*,product_id=None)
if product_id is None:
product_id = # get the id from something

# your code here

如果您无法从任何地方获得 product_id 我希望您能找到和解决方案,否则您必须编辑所有调用。

关于python - Odoo 11+ 如何在不覆盖每个调用的情况下覆盖函数参数和对它的所有调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57541817/

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