让product.product
继承product.template
而不是直接在product.product
中定义所有字段,会有什么好处?
_name = "product.product"
_description = "Product"
_inherits = {'product.template': 'product_tmpl_id'}
我何时会在新代码中使用此技术?
答案 0 :(得分:2)
使用_inherits
时,您将以数据库方式执行某种多态模型。
例如product.product
继承product.template
或res.users
继承res.partner
。这意味着我们创建了一个模型,该模型可以了解Model
,但在新数据库表中添加了附加数据/列。因此,当您创建用户时,所有合作伙伴数据都存储在res_partner
表中(并创建了合作伙伴),并且所有与用户相关的信息都存储在res_users
表中。
为此,我们使用dict:_inherits = {'res.partner': 'partner_id'}
该键对应于基本模型和基本模型的外键值。
如果你胆敢的话,你可以在这里混合继承......
这里有一些链接:
https://doc.openerp.com/v6.0/developer/2_5_Objects_Fields_Methods/object_inherits/
希望它有所帮助。