news 2026/4/16 14:42:51

如何在 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/4/16 10:39:44

OCR识别效率:CRNN的批处理优化

OCR识别效率&#xff1a;CRNN的批处理优化 &#x1f4d6; 项目背景与技术选型 在数字化转型加速的今天&#xff0c;OCR&#xff08;光学字符识别&#xff09; 已成为文档自动化、票据处理、智能客服等场景的核心技术。传统OCR方案在清晰印刷体上表现良好&#xff0c;但在复杂…

作者头像 李华
网站建设 2026/4/6 2:00:33

如何用CRNN OCR处理反光严重的证件照片?

如何用CRNN OCR处理反光严重的证件照片&#xff1f; &#x1f4d6; 项目简介 在实际业务场景中&#xff0c;证件识别是OCR&#xff08;光学字符识别&#xff09;技术的重要应用方向之一。然而&#xff0c;由于拍摄环境复杂、设备限制或用户操作不当&#xff0c;常常导致上传的证…

作者头像 李华
网站建设 2026/4/16 12:27:46

Llama Factory开放日:社区最佳实践分享

Llama Factory开放日&#xff1a;社区最佳实践分享 如果你是一名开源爱好者&#xff0c;想要学习如何创造性使用Llama Factory这个强大的大模型微调框架&#xff0c;但发现相关信息分散在各个论坛和社区&#xff0c;那么这篇文章就是为你准备的。本文将整理社区开发者们的实战经…

作者头像 李华
网站建设 2026/4/11 16:55:20

AO3同人作品配音难?开源TTS让文字自动变声频,创作门槛降低

AO3同人作品配音难&#xff1f;开源TTS让文字自动变声频&#xff0c;创作门槛降低 &#x1f310; 为什么同人创作者需要语音合成技术&#xff1f; 在AO3&#xff08;Archive of Our Own&#xff09;等同人创作平台上&#xff0c;文字是表达情感与叙事的核心载体。然而&#x…

作者头像 李华
网站建设 2026/4/16 12:23:40

创新方案:VS Code实时语言切换插件的开发原型

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个VS Code语言实时切换插件原型&#xff0c;功能要求&#xff1a;1.状态栏显示当前语言 2.点击即可切换中英文 3.自动下载所需语言包 4.记忆用户偏好 5.支持快捷键操作。提供…

作者头像 李华