就贴个例子,有需要的对着例子去研究吧
from openerp import models, api
class BaseModelExtend(models.AbstractModel):
_name = 'basemodel.extend'
def _register_hook(self, cr):
@api.cr_uid_context
def user_has_groups(self, cr, uid, groups, context=None):
#My code
models.BaseModel.user_has_groups = user_has_groups
return super(BaseModelExtend, self)._register_hook(cr)
另外的例子(增加了一个自定义属性)
from openerp import api, fields, models, _
class BaseModelExtend(models.AbstractModel):
_name = 'basemodel.extend'
models.BaseModel._navigation = 'id'
def _register_hook(self, cr):
'''
Register method in BaseModel
'''
@api.multi
def navigate_field(self):
#CODE
return True
models.BaseModel.navigate_field = navigate_field
return super(BaseModelExtend, self)._register_hook(cr)
参考这篇文章:
https://q-a-assistant.com/computer-internet-technology/1728481_how-we-can-inherit-basemodel-class-in-odoo.html