模块继承之修改视图和数据总结
大多数 Odoo 模块的定义,如用户界面和安全规则,实际是存储在对应数据表中的数据记录。
模块中的 XML 和 CSV 文件不是 Odoo 应用运行时使用,而是载入数据表的手段。正是因为这个原因, Odoo 模块的一个重要部分是在文件中放入数据以在插件安装时将其载入数据库。
模块可以包含初始数据和演示数据,可通过数据文件将它们加入模块。此外,了解 Odoo 数据的格式对于在项目实施上下文中导入导出业务数据也非常重要。
本文的主要内容有:
⚫ 理解外部标识符的概念
⚫ 导入导出数据文件
⚫ 使用 CSV 文件
⚫ 添加模块数据
⚫ 使用 XML 数据文件
开发准备
本文要求读者可以运行 Odoo 服务并已安装前面我们此前开发的图书应用。相关代码请见
GitHub 仓库。你可能也同时安装了第四章模块继承中创建的 library_member 模块,但本文并不要求使用该模型。
理解外部标识符的概念
外部标识符,也称为 XML ID,是用于唯一标识 Odoo 中特定记录的有可读性的字符串标识符。在 Odoo 中加载数据时它们就很重要了,这样可以对已有数据记录进行修改或在其它数据记录中引用它。
首先我们将讨论外部标识符的工作原理以及如何对其进行检查。然后我们会学习如何使用网页客户端来查找指定数据记录的外部标识符,在创建插件模块或继承已有模块时需要经常用到。
外部标识符的工作原理
记录在数据库中的真实标识符是自动分配的序列号,在安装模块时没法预先知道将要分配的具体ID 的。外部标识符让我们无需知道真实的数据库 ID 便可以引用一条相关记录。 XML ID 为数据库ID 提供了一个方便的别名,藉于此我们可以在任何时刻引用某一指定记录。
Odoo 模块数据文件中使用 XML ID 来定义记录。其中一