更多的模型继承机制

来自Odoo大V社-odoo中文开发手册
跳转至: 导航搜索

我们已经看到了模型的基本扩展,在官方文档中称为类继承, 这是最常用的继承,很容易想到它的应用场景,比如对现有模型的扩展, 添加新功能时,它们将添加到现有模型中,不会创建新模型。
我们还可以从多个父模型继承,在_inherit属性将值列表设置。 这样,我们可以使用混合类。 混合类是实现我们可以添加到其他模型的通用特性的模型。 它们不会被直接使用,而是像一个容器,可以添加其他模型。

如果我们想使用具有不同于父模型的值的_name属性,我们将获得一个新模型重用来自继承的特性,但是具有自己的数据库表和数据。 官方文档称为原型继承,在这里你的模型,将创建一个全新的,一个旧的。 添加新功能时,它们将添加到新模型中。 现有模型中没有改变。

还有代理继承方法,使用_inherits属性,它允许一个模型以透明的方式包含其他模型,而在后台,每个模型处理自己的数据。 你拿一个模型并扩展它,添加新功能时,它们将添加到新模型中,现有模块没有变化。 新模型中的记录有到原始模型中的记录的链接,并且原始模型的字段被公开并且可以直接在新模型中使用。

让我们更详细地探讨这些可能性。

上一节:扩展树视图和搜索视图
下一节:使用原型继承复制特征