扩展模型
来自Odoo大V社-odoo中文开发手册
286193631(讨论 | 贡献)2017年1月5日 (四) 09:52的版本 (创建页面,内容为“新的模型是通过 Python 的类定义,扩展模型也是通过 Python 的类来定义, 但需要在 Odoo 特定的继承机制的帮助下。 想要扩展现...”)
新的模型是通过 Python 的类定义,扩展模型也是通过 Python 的类来定义, 但需要在 Odoo 特定的继承机制的帮助下。
想要扩展现有的模型, 我们使用一个具有继承属性的Python类, 这个特征决定模型可以用来进行扩展。 新类从父 Odoo 模型继承的所有功能, 我们只需要声明一下我们想提出修改部分。
实际上, Odoo 模型存在 Python 的模块之外, 在中间注册表那里。对于这个注册表,可以通过模型的方法使用self.env[<model name>]进入。 例如, 通过res.partner 模型获取对象的引用, 代码书写如下 self.env['res.partner']。
要修改某个 Odoo 模型, 我们可以从他的注册类获取参考,然后在他更改的地方实施。这意味着,这些修改也将在任何其他地方使用这种新的模式
在 Odoo 服务器启动的时候,载入模块顺序是有关系的, 通过add-on模块修改的模块,只能在add-on模块装载后才可见
因此正确设置模块的依赖是非常重要的, 所以它是很重要的模块依赖关系才能进行正确的设置, 确保模块提供我们使用的模型都包括在我们的依赖关系树中