【问题标题】:How Do I Add Many2One Data In Files如何在文件中添加 Many2One 数据
【发布时间】:2019-09-16 13:27:06
【问题描述】:

我有一些相互依赖的模型,它们之间存在 Many2One 和 One2Many 关系。

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

我是否应该在基本上声明记录的同时将关系值保持为空,然后稍后用关系更新记录?

此外,关系字段的值应该是什么?一个数组还是什么?

【问题讨论】:

    标签: odoo odoo-12


    【解决方案1】:

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

    如您所见,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 记录 ID(有时您可能需要使用外部 ID - 例如在这种情况下,记录的外部 ID 是 hr.employee_category_2)

    参考:12

    【讨论】:

    • 对于Many2one 字段,您只需使用ref('XMLID') 作为field XML 元素的eval 属性的值,就像在@ 中引用继承视图时一样987654338@ 视图定义中的属性。
    • 感谢您的回答,我将尝试一次创建所有基本记录,然后通过 (6, 0, [IDs]) 添加记录
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-03
    • 2018-09-04
    • 1970-01-01
    • 1970-01-01
    • 2018-04-16
    • 2020-08-07
    • 1970-01-01
    相关资源
    最近更新 更多