CSV数据文件相关记录

来自Odoo大V社-odoo中文开发手册
跳转至: 导航搜索

在前面的示例中,负责每个任务的用户是用户模型中的相关记录,具有多对一(或外键)关系。用于它的列名称是user_id / id,字段值是相关记录的外部标识符,例如管理员用户的base.user_root。

技巧

仅当您从/向同一数据库导出和导入时,才建议使用数据库ID。通常,您更喜欢使用外部标识符。

如果使用外部标识符,则关系列应该在其名称后附加/ id,如果使用数据库(数字)ID,则应该/.id。或者,可以使用冒号(:)替换斜杠以获得相同的效果。

类似地,也支持多对多关系。多对多关系的示例是用户和组之间的关系:每个用户可以在许多组中,并且每个组可以具有许多用户。此类型字段的列名称应附加/ id。字段值接受以逗号分隔的外部标识符列表,由双引号括起。

例如,待办任务跟随者在待完成任务和合作伙伴之间具有多对多关系。其列名称应为follower_ids / id,并且具有两个关注者的字段值可能如下所示:

"__export__.res_partner_1,__export__.res_partner_2"

最后,一对多关系也可以通过CSV导入。这种类型关系的典型示例是具有几行的文档头。注意,一对多关系总是多对一关系的逆。每个文档头可以有多行。并且每行都有一个头。

我们可以在公司模型中看到这种关系的一个例子(表单视图在设置菜单中可用):每个公司可以有多个银行帐户,每个帐户都有自己的详细信息;相反,每个银行帐户记录属于并且与仅一个公司具有多对一关系。

我们可以将公司及其银行帐户导入到一个文件中。这里有一个例子,我们加载一家公司有三家银行:

id,name,bank_ids/id,bank_ids/acc_number,bank_ids/state base.main_company,YourCompany,__export__.res_partner_bank_4,123 456789,bank ,,__export__.res_partner_bank_5,135792468,bank ,,__export__.res_partner_bank_6,1122334455,bank

我们可以看到前两列(id和name)在第一行中有值,在下两行中为空。他们有头记录的数据,这是公司。

其他三列都以bank_ids /为前缀,并且在所有三行上都有值。他们有三个相关行的数据为公司的银行帐户。第一行有公司和第一家银行的数据,接下来的两行只有额外的公司和银行的数据。

当从GUI导出和导入时,这些是必需的。在新的Odoo实例中设置数据或准备要包含在Odoo模块中的数据文件非常有用。接下来,我们将了解有关在模块中使用数据文件的更多信息。

上一节:导入数据
下一节:模块数据