“更多的模型继承机制”的版本间的差异

来自Odoo大V社-odoo中文开发手册
跳转至: 导航搜索
(创建页面,内容为“我们已经看到了模型的基本扩展,在官方文档中称为类继承, 这是最常用的继承,很容易想到它的应用场景,比如对现有模...”)
 
 
(未显示另一用户的1个中间版本)
第5行: 第5行:
 
混合类是实现我们可以添加到其他模型的通用特性的模型。
 
混合类是实现我们可以添加到其他模型的通用特性的模型。
 
它们不会被直接使用,而是像一个容器,可以添加其他模型。
 
它们不会被直接使用,而是像一个容器,可以添加其他模型。
 +
 +
如果我们想使用具有不同于父模型的值的_name属性,我们将获得一个新模型重用来自继承的特性,但是具有自己的数据库表和数据。
 +
官方文档称为原型继承,在这里你的模型,将创建一个全新的,一个旧的。
 +
添加新功能时,它们将添加到新模型中。 现有模型中没有改变。
 +
 +
还有代理继承方法,使用_inherits属性,它允许一个模型以透明的方式包含其他模型,而在后台,每个模型处理自己的数据。
 +
你拿一个模型并扩展它,添加新功能时,它们将添加到新模型中,现有模块没有变化。
 +
新模型中的记录有到原始模型中的记录的链接,并且原始模型的字段被公开并且可以直接在新模型中使用。
 +
 +
让我们更详细地探讨这些可能性。
 +
 +
上一节:[[扩展树视图和搜索视图]]
 +
下一节:[[使用原型继承复制特征]]

2017年4月17日 (一) 10:43的最新版本

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

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

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

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

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