news 2026/7/2 3:55:15

如何在 Odoo 19 中加载演示数据

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如何在 Odoo 19 中加载演示数据

如何在 Odoo 19 中加载演示数据

随着 Odoo 的不断发展,最新版本 Odoo 19 引入了新功能,使 ERP 实施过程更顺畅、功能更强大。对于开发自定义模块的开发者和集成商而言,加载演示数据是关键步骤 —— 它能为模块功能提供真实的测试环境、培训场景和展示效果。演示数据可在填充真实数据前让应用呈现 “真实运行” 的状态,这在开发过程和客户演示中极具价值。

本文将介绍在 Odoo 19 中加载演示数据的两种常用方法:通过 XML 文件和 CSV 文件。我们将逐步讲解如何创建这两种类型的演示数据、将其与模块关联,以及在 Odoo 19 中验证实施效果。

为什么需要使用演示数据?

演示数据在 ERP 开发中扮演重要角色,主要体现在:

  • 测试记录:在部署前验证模块功能是否正常;
  • 培训资源:帮助终端用户通过示例数据理解模块用法;
  • 功能展示:在演示或客户汇报中直观呈现模块特性。

方法一:通过 XML 文件加载演示数据

XML 文件适合定义结构化的演示数据,尤其适用于复杂记录。以下是具体步骤:

步骤 1:创建 demo 文件夹

在模块目录中,创建一个名为demo的文件夹,用于存储所有包含演示数据的 XML 文件。

步骤 2:创建含演示数据的 XML 文件

demo文件夹中创建 XML 文件,示例命名为students.xml。以下代码定义了student.info模型(人力资源部门模型)的一条示例记录:

<?xml version="1.0" encoding="utf-8"?><odoo><datanoupdate="1"><!-- 1. 创建演示部门(若系统无默认部门,用于关联 student.info 的 department_id) --><recordid="demo_department_it"model="hr.department"><fieldname="name">信息技术部</field><!-- 部门名称 --><fieldname="color"eval="1"/><!-- 颜色标识(1=蓝色,视觉区分) --></record><!-- 2. 定义“上级学生”(父记录):用于演示自关联的 parent_id --><recordid="demo_student_parent"model="student.info"><fieldname="name">张三</field><!-- 姓名(必填字段) --><fieldname="age"eval="22.0"/><!-- 年龄(Float 类型,保留小数) --><fieldname="date_of_birth">2002-05-15</field><!-- 出生日期(Date 类型,格式 YYYY-MM-DD) --><!-- 关联部门:引用上方创建的“信息技术部”,若用系统默认部门可改为 ref="hr.department_management" --><fieldname="department_id"ref="demo_department_it"/><!-- parent_id 留空:此学生为“顶层上级”,无上级学生 --><fieldname="parent_id"eval="False"/></record><!-- 3. 定义“下级学生 1”(子记录):parent_id 关联上方的“张三” --><recordid="demo_student_child1"model="student.info"><fieldname="name">李四</field><fieldname="age"eval="20.0"/><fieldname="date_of_birth">2004-03-20</field><fieldname="department_id"ref="demo_department_it"/><!-- 同属信息技术部 --><fieldname="parent_id"ref="demo_student_parent"/><!-- 上级学生:引用“张三”的 ID --></record><!-- 4. 定义“下级学生 2”(子记录):parent_id 同样关联“张三” --><recordid="demo_student_child2"model="student.info"><fieldname="name">王五</field><fieldname="age"eval="19.5"/><fieldname="date_of_birth">2005-09-01</field><fieldname="department_id"ref="demo_department_it"/><!-- 同属信息技术部 --><fieldname="parent_id"ref="demo_student_parent"/><!-- 上级学生:引用“张三”的 ID --></record></data></odoo>
代码说明:
  • record_id:记录的唯一标识符(自定义,需确保模块内唯一);
  • model:指定关联的 Odoo 模型(此处为student.info,即学生信息模型);
  • field:定义模型字段值,如name(部门名称)、age(年龄标识,eval="19.5"表示为19.5岁);
  • noupdate="1":设置该数据仅在模块初始安装时加载,后续模块更新时不会被覆盖或修改。

步骤 3:在 manifest 文件中关联 XML 文件

要让 Odoo 加载该 XML 文件,需在模块的__manifest__.py文件中,将其路径添加到demo关键字下:

验证结果

安装模块后,进入 Odoo 后台的 “学生管理” 菜单,即可看到新增的演示学生 “张三,李四,王五”,表明演示数据加载成功。

方法二:通过 CSV 文件加载演示数据

对于大量简单数据,CSV 文件是更实用的选择。它能以简洁格式快速生成多条记录,尤其适合同一模型需要大量条目的场景。

步骤 1:创建 CSV 文件

在模块的data文件夹中创建 CSV 文件(示例命名为student_demo.csv),文件需包含id,name,age,date_of_birth,department_id,parent_id等字段列。

以下是 CSV 文件示例内容:

id,name,age,date_of_birth,department_id,parent_id student_zhang3,张三,21.0,2003-09-10,students_demo.demo_department_it, student_li4,李四,20.0,2004-03-25,students_demo.demo_department_it,students_demo.student_zhang3 student_wang5,王五,19.5,2005-06-18,students_demo.demo_department_it,students_demo.student_zhang3
字段说明:
  • id:每条记录的唯一标识符,需以模块名或命名空间为前缀;
  • name:学生名称;
  • age:年龄;
  • date_of_birth:生日;
  • department_id:部门;
  • parent_id:上级学生;

步骤 2:关联 CSV 文件到 manifest

将 CSV 文件路径添加到__manifest__.pydata关键字下(CSV 文件通常放在data文件夹,与 XML 演示数据的demo关键字区分):

{#...其他元数据..."data":["data/student_demo.csv",# 关联CSV演示数据文件],#...其他配置...}

验证结果

安装模块后,在对应模型的列表视图中可查看加载的演示数据。

总结

在 Odoo 19 中,通过 XML 和 CSV 文件加载演示数据是测试、展示和培训自定义模块的有效方式。遵循上述步骤,你可以为 Odoo 数据库填充相关示例数据,提升 ERP 用户体验。无论选择 XML(适合结构化数据)还是 CSV(适合简单、大量条目),演示数据都能帮助你更直观地展现模块的功能价值。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/30 0:37:44

Llama Factory效率革命:自动化你的重复训练任务

Llama Factory效率革命&#xff1a;自动化你的重复训练任务 如果你是一名需要定期更新模型的运维工程师&#xff0c;厌倦了手动重复相同的训练流程&#xff0c;那么Llama Factory可能是你的救星。本文将带你了解如何利用Llama Factory实现训练任务的自动化&#xff0c;告别繁琐…

作者头像 李华
网站建设 2026/6/25 20:06:35

企业级LetsEncrypt证书部署实战指南

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个企业级LetsEncrypt证书部署方案&#xff0c;包含&#xff1a;1. 多服务器证书同步机制 2. 负载均衡环境下的证书部署 3. 证书集中管理控制台 4. 自动故障转移方案 5. 证书…

作者头像 李华
网站建设 2026/6/26 17:10:38

Llama Factory实战:如何为你的聊天机器人选择最佳微调方案

Llama Factory实战&#xff1a;如何为你的聊天机器人选择最佳微调方案 为客服系统添加智能对话功能时&#xff0c;选择合适的微调方法至关重要。Llama Factory作为一个高效的大模型微调工具&#xff0c;能帮助产品团队快速测试不同微调方案在对话质量、响应速度和资源消耗上的差…

作者头像 李华
网站建设 2026/7/1 1:07:11

逆矩阵在金融风控中的实际应用

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个金融风控模拟工具&#xff0c;使用逆矩阵计算资产协方差矩阵的逆&#xff0c;用于投资组合优化。功能包括&#xff1a;1. 输入多只股票的历史收益率数据&#xff1b;2. 计…

作者头像 李华
网站建设 2026/6/26 17:10:42

AI助力PySide6开发:自动生成GUI代码的秘诀

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 使用PySide6创建一个现代化的用户界面应用&#xff0c;包含主窗口、菜单栏、工具栏和状态栏。主窗口中央显示一个表格控件&#xff0c;能够展示从CSV文件加载的数据。要求实现以下…

作者头像 李华
网站建设 2026/6/26 17:10:41

零基础入门IDEA 2025:AI编程的第一课

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个新手友好的教程项目&#xff0c;引导用户使用IDEA 2025完成第一个AI生成的程序。从安装环境开始&#xff0c;逐步指导用户输入需求、生成代码、调试和部署。提供交互式学习…

作者头像 李华