news 2026/3/2 11:48:18

如何在 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/2/28 16:26:13

智能客服升级:CRNN OCR实现工单自动录入

智能客服升级&#xff1a;CRNN OCR实现工单自动录入 引言&#xff1a;OCR 文字识别在智能客服中的关键作用 在现代企业服务系统中&#xff0c;工单信息的快速、准确录入是提升客户响应效率的核心环节。传统的人工录入方式不仅耗时耗力&#xff0c;还容易因视觉疲劳或字迹模糊导…

作者头像 李华
网站建设 2026/2/16 16:10:48

比手动调试快10倍:AI解决Node模块错误的新方法

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 构建一个Node.js错误处理效率对比工具&#xff1a;1.模拟Cannot find module错误场景 2.记录手动调试步骤和时间 3.使用AI自动诊断并记录时间 4.生成对比报告 5.提供优化建议。支持…

作者头像 李华
网站建设 2026/2/24 8:08:21

如何用AI自动解决数据库驱动类错误

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个AI辅助工具&#xff0c;能够自动分析Java项目中出现的FAILED TO DETERMINE A SUITABLE DRIVER CLASS错误。功能包括&#xff1a;1.扫描项目pom.xml或build.gradle文件检测…

作者头像 李华
网站建设 2026/2/26 3:50:41

CRNN OCR在合同文档管理中的创新应用

CRNN OCR在合同文档管理中的创新应用 引言&#xff1a;OCR文字识别的现实挑战与技术演进 在企业日常运营中&#xff0c;合同文档作为核心法律与业务凭证&#xff0c;其数量庞大、格式多样、内容敏感。传统的人工录入方式不仅效率低下&#xff0c;还容易出错&#xff0c;难以满足…

作者头像 李华
网站建设 2026/2/16 14:32:52

跨域OCR识别:CRNN在新场景下的迁移学习

跨域OCR识别&#xff1a;CRNN在新场景下的迁移学习 &#x1f4d6; 项目简介 在数字化转型加速的今天&#xff0c;光学字符识别&#xff08;OCR&#xff09;技术已成为信息自动化处理的核心环节。无论是发票扫描、证件录入&#xff0c;还是路牌识别与文档归档&#xff0c;OCR都在…

作者头像 李华