如何在文件中添加 Many2One 数据

How Do I Add Many2One Data In Files

我有几个相互依赖的模型,它们之间有 Many2One 和 One2Many 关系。

我已经设置了所有视图,但现在我正在通过数据文件添加数据以测试我发现我不知道如何添加这些记录的所有内容。

我是否应该做一个运行,我基本上声明记录,同时保持关系值为空,然后稍后用关系更新记录?

此外,关系字段的值应该是多少?数组之类的?

您可以随时使用内置模块的演示和数据文件作为参考

如您所见,here category_idsMany2many 字段(同样适用于 one2many 字段)

<field name="category_ids" eval="[(6, 0, [ref('employee_category_2')])]"/> 要了解 eval 属性的值,请阅读以下内容:

(0, 0,  { values })    link to a new record that needs to be created with the given values dictionary
(1, ID, { values })    update the linked record with id = ID (write *values* on it)
(2, ID)                remove and delete the linked record with id = ID (calls unlink on ID, that will delete the object completely, and the link to it as well)
(3, ID)                cut the link to the linked record with id = ID (delete the relationship between the two objects but does not delete the target object itself)
(4, ID)                link to existing record with id = ID (adds a relationship)
(5)                    unlink all (like using (3,ID) for all linked records)
(6, 0, [IDs])          replace the list of linked IDs (like using (5) then (4,ID) for each ID in the list of IDs)

并且对于 ref 函数的值(即这部分 ref('employee_category_2') )它是一个 python 函数,在加载数据文件时评估,它采用 XML 相关字段的 recordID(有时您可能需要使用外部 ID - 例如,在这种情况下,记录的外部 ID 为 hr.employee_category_2

参考资料:1 2