我们如何在Odoo中继承BaseModel类 [英] How we can inherit BaseModel class in odoo

查看:215
本文介绍了我们如何在Odoo中继承BaseModel类的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

需要继承BaseModel类并添加新的属性,如

Need to inherit BaseModel class and add a new attribute like

_auto = True 
_register = False
_name = None
_columns = {}
_constraints = []
_custom = False
_defaults = {}
_rec_name = None
_parent_name = 'parent_id'
_parent_store = False
_parent_order = False
_date_name = 'date'
_order = 'id'
_sequence = None
_description = None
_needaction = False
_translate = True

在所有模型中使用此属性,因此需要声明为全局

Use this attribute in all models so need to be declare as a global

示例:

from openerp import api, fields, models, _

class NewClass(models.Model):

    _name = 'object name'
    _new_attribute = 'vaule'

推荐答案

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)

这篇关于我们如何在Odoo中继承BaseModel类的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆