如何让一个 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
,因为您正在扩展此模型。
例如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
,因为您正在扩展此模型。