【问题标题】:Override python function in odoo在odoo中覆盖python函数
【发布时间】:2015-07-15 12:38:17
【问题描述】:

我对 odoo/server/openerp/models 中的 read_group 函数进行了一些更改。

我现在需要的是在我自己的模块中覆盖这个函数。所以我将此函数复制到我模块的 .py 文件中,但这对我不起作用。谁能告诉我该怎么做?

【问题讨论】:

    标签: python-2.7 odoo-8


    【解决方案1】:

    请看下面的例子

    from openerp import models
    def read_group():
        #YOUR OVERRIDDEN Function
    
    models.BaseModel.read_group = read_group
    

    对于新 API 和旧 API 兼容性问题,您还可以使用 _register_hook,如此链接中的示例所示。 https://stackoverflow.com/a/34854721/1451220

    【讨论】:

    • from openerp.models import BaseModel def my_user_has_groups(self, cr, uid, groups, context=None): #my code BaseModel.user_has_groups = my_user_has_groups 但它说 TypeError: my_user_has_groups() 至少需要 4参数(2 个)
    • 这只是一个例子。您必须保持签名与核心中的签名相同
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-04
    • 1970-01-01
    • 2022-07-18
    • 1970-01-01
    • 2023-03-06
    • 2012-10-06
    相关资源
    最近更新 更多