如何覆盖 Odoo V9 中 BaseModel class 的 fields_view_get 方法? (通用 fields_view_get 方法)
How to override fields_view_get method of BaseModel class in Odoo V9? (Generic fields_view_get method)
我需要重写 odoo9 中 BaseModel class 的 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 版。
错误 Log:TypeError:fields_view_get() 至少需要 3 个参数(给定 5 个)
我该怎么做?
谢谢,
等待回复..
得到解决方案。请找到这个。
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)
我需要重写 odoo9 中 BaseModel class 的 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 版。
错误 Log:TypeError:fields_view_get() 至少需要 3 个参数(给定 5 个)
我该怎么做?
谢谢, 等待回复..
得到解决方案。请找到这个。
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)