0

我需要覆盖odoo9中BaseModel类的fields_view_get方法,该方法应该是通用的。

models.py中,fields_view_get() 声明为 7.0 版标准。

我使用了以下基本结构:

from openerp import models, fields, api, _
from openerp.osv.orm import BaseModel

def fields_view_get(self, cr, user, view_id=None, view_type='form', context=None, toolbar=False, submenu=False,final_result={}):

BaseModel.fields_view_get = fields_view_get

此代码适用于 7.0 版,但不适用于 9.0 版。

错误日志:TypeError:fields_view_get() 至少需要 3 个参数(给定 5 个)

我怎样才能做到这一点?

谢谢,等待回复。。

4

1 回答 1

1

得到了解决方案。请找到这个。

from openerp import models, fields, api, _

class BaseModelExtend(models.AbstractModel):
_name = 'basemodel.extend'
def _register_hook(self, cr):
    @api.cr_uid_context
    def fields_view_get(self, cr, user, view_id=None, view_type='form', context=None, toolbar=False, submenu=False):
        #Code
    models.BaseModel.fields_view_get = fields_view_get
    return super(BaseModelExtend, self)._register_hook(cr)
于 2016-01-21T12:06:24.283 回答