ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Odoo模块开发教程6-导入导出 CSV 数据文件第二讲

2020-06-09 11:57:45  阅读:319  来源: 互联网

标签:数据文件 记录 many 导入 Odoo Partner CSV id


导入数据

首先应确认开启了导入功能,默认是开启的。如果没有,进入 Settings > General Settings,在 Users 版块下勾选 Import & Export 选项即可。启用该选项后,列表视图上方 Create 按钮旁就会显示一个 Import 按钮。
“ 注意: Import & Export 设置安装 base_import 模块,该模块用于提供这一功能。 ”下面我们尝试批量编辑 Contact 或 Partner 数据。使用电子表单或文本编辑器打开 CSV 并修改几个值。将 id 栏留空即可新增行。前文已经提到第一列 id 作为每行的唯一标识符,这让已有记录可以被更新,而不会因重新导入数据重复创建。我们在导出表中编辑任意字段在导入时对应记录就会被更新。
对于要加入 CSV 文件的新行,我们可以自己添加外部标识符或将 id 列留空。两种方式都会创建新的记录。作为示例,我们添加一行 id 留空、 name 为 Phillip K. Dick,来在数据库中新建这一记录。在 CSV 文件中进行保存,点击 Import(Create 按钮旁),然后点击 Load File 按钮选择磁盘中 CSV 的路径就出会出现如下导入助手。点击右上角的 Test Import 按钮,检查数据正确性。由于导入的文件是在 Odoo 中导出文件基
础上修改的,正常会有效并且各列会自动与数据库中对应字段匹配。因编辑所使用的软件各异,有可能需对分隔符和编码进行处理。现在可以点击 Import 按钮,修改和新建记录就会被载入到Odoo 中。

CSV 数据文件中的关联记录

前面的示例非常简单,一旦我们开使用关联多张表的关联字段时,数据文件就会变得更为复杂。我们处理过图书中的 Partner 记录,下面就看一下如何在图书 CSV 文件中表示对这些 Partner
的引用。具体来说,有一个出版商(publisher_id 字段)的 many-to-one(或外键)关联,以及一个作者(author_ids 字段)的 many-to-many 关联。
CSV 文件的表头行中关联列应在名称后添加一个/id。它将使用外部标识符来引用关联记录。本例中,我们将在 publisher_id/id 字段中加载图书出版商,使用关联 Partner 的外部 ID 作为其值。
“ 注意: 可使用/.id 来进行替代来使用数据库中的真实 ID(自动分配的数字 id),但极少使用到。除非有特别原因,否则请使用外部 ID 而非数据库 ID。同时要记住数据库 ID 针对具体的数
据库,所以如果导入到非原始数据库中这种操作大多数情况下都会失败。 ”CSV 数据文件中也可导入 many-to-many 字段,这和添加带双引号并由逗号分隔的外部 ID 列表一样简单。例如,要载入图书作者,将需要一个 author_ids/id 列,并使用一个关联 Partner 外部 ID 的逗号分隔列表作为其值:
One-to-many 字段通常是表头和行或父子关系,对于这类关系有特别的支持方式:对于同一条父记录可以有多个关联行。此处我们在 Partner 模型中有一个 one-to-many 字段的例子:公司可带有多个联系人。如果从 Partner 模型中导出数据并包含 Contacts/Name 字段,就可以看到要导入此类型数据的格式(Contacts 中选择 Azure Interior:默认应为第一条,并执行前述的导出步骤):
id 和 name 列为父记录的, child_ids 两列为子记录的。注意第一行记录以下父记录部分留空。上表中 CSV 文件形式显示为:
"id","name","child_ids/id","child_ids/name"
"base.res_partner_12","Azure Interior","base.res_partner_address_15","Brandon
Freeman"
"","","base.res_partner_address_28","Colleen Diaz"
"","","base.res_partner_address_16","Nicole Ford"
可以看到 id 和 name 这两列第一行有值,后两行都为空。其中的父记录为联系人的公司信息。另两行的前缀都是 child_ids/并且在三行中都有数据。这些是父公司的联系人信息。第一行包含公司和第一个联系人,其余行仅包含联系人这一子信息。

更多教程:https://www.erpdaxue.cn/odoo/odoo-teach/odoo12-teach/

标签:数据文件,记录,many,导入,Odoo,Partner,CSV,id
来源: https://www.cnblogs.com/odoo14/p/13071620.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有