OpenERP 7.0:为什么product.product继承自product.template?

时间:2014-03-24 19:49:27

标签: inheritance openerp-7

product.product继承product.template而不是直接在product.product中定义所有字段,会有什么好处?

_name = "product.product"
_description = "Product"
_inherits = {'product.template': 'product_tmpl_id'}

我何时会在新代码中使用此技术?

1 个答案:

答案 0 :(得分:2)

使用_inherits时,您将以数据库方式执行某种多态模型。

例如product.product继承product.templateres.users继承res.partner。这意味着我们创建了一个模型,该模型可以了解Model,但在新数据库表中添加了附加数据/列。因此,当您创建用户时,所有合作伙伴数据都存储在res_partner表中(并创建了合作伙伴),并且所有与用户相关的信息都存储在res_users表中。

为此,我们使用dict:_inherits = {'res.partner': 'partner_id'}该键对应于基本模型和基本模型的外键值。

如果你胆敢的话,你可以在这里混合继承......

这里有一些链接:

http://help.openerp.com/question/46/the-different-openerp-model-inheritance-mechanisms-whats-the-difference-between-them-and-when-should-they-be-used/

https://doc.openerp.com/v6.0/developer/2_5_Objects_Fields_Methods/object_inherits/

希望它有所帮助。