如何覆盖Odoo V9中BaseModel类的fields_view_get方法? (通用fields_view_get方法)

时间:2016-01-18 10:31:06

标签: openerp odoo-9

我需要覆盖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个)

我该怎么做?

谢谢, 等待回复..

1 个答案:

答案 0 :(得分: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)