如何让一个 class(已经存在)继承另一个 class?

How do I make a class (that already exist) inherit another class?

例如classres.partner。我希望 res.partner 继承 class A。我该怎么做?

我认为这行不通:

class custom_res_partner(osv.osv):

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

custom_res_partner()
class custom_res_partner(osv.osv):

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

custom_res_partner()

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

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

编辑: (这是针对 odoo 版本 8 的) 新建一个模块,在模块中的一个python文件中继承模型A。 新建模块参考Build an Odoo module

如果模型已经存在,而你想让它继承另一个模型,应该这样做:

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

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