如何创建一个类(已经存在)继承另一个类?

时间:2015-06-19 10:24:47

标签: openerp odoo openerp-7 odoo-8

例如班级res.partner。我希望res.partner继承类A。我该怎么做?

我认为这不会起作用:

class custom_res_partner(osv.osv):

    _name           = "res.partner"
    _inherit        = "A"

custom_res_partner()

3 个答案:

答案 0 :(得分:2)

如果模型已经存在并且您希望它继承另一个模型,则应该这样做:

class custom_res_partner(osv.osv):
    _name = "res.partner"
    _inherit = ['res.partner', 'A']

_name部分在这里很重要,Odoo知道哪个模型继承了哪个模型。在_inherit中,您还需要指定res.partner,因为您正在扩展此模型。

答案 1 :(得分:1)

class custom_res_partner(osv.osv):

    _name           = "custom.res.partner"    # New Model will be created
    _inherit        = "A"   # Base class 

custom_res_partner()

它将根据继承规则创建具有其基类的所有属性的新模型(表)。不要使用res.partner,因为此模型已经存在。

答案 2 :(得分:1)

# odoo-8
from openerp import fields, models, api, _
class res_partner(models.Model):
    _inherit = "A"

修改 (这是针对odoo版本8) 创建一个新模块并在模块中的python文件中继承模型A。 要创建新模块,请参阅Build an Odoo module