Odoo 10,在安装模块时导入带有 XML 标签的 res 伙伴

Odoo 10, Importing res partner with tags with an XML when installing a module

我需要在安装自定义模块时使用 XML 将带有标签的客户数据导入 res.partner

"Customers" 数据存储在 res.partner 和 "Tags 中" 数据存储在 res.partner.category 中,它们通过 res_partner_res_partner_category_rel.

具有 Many2many 关系

我正在调用 __manifest__.py 中的两个 XML 文件:

第一个填充成功res.partner.category:

<?xml version="1.0"?>
<odoo>
    <record model="res.partner.category" id="res_partner_category_1">
        <field name="name">Heavy metal</field>
        <field name="active">1</field>
    </record>
</odoo>

第二个插入伙伴数据:

<?xml version="1.0"?>
    <odoo>
    <record model="res.partner" id="res_partner_predata_1">
        <field name="name">Iron Maiden</field>
    </record>
</odoo>

我只需要插入带有“重金属标签的res.partner注册表 像这样安装自定义模块:

这是它的样子:

我将非常感谢任何帮助。

我在Odoo演示资料中找到了答案: 当我创建类别 Heavy metal 时,我分配了 id res_partner_predata_1,然后我只需要添加下一行 (评论) 之后的那个 res_partner 注册表,如下所示:

<?xml version="1.0"?>
    <odoo>
    <record model="res.partner" id="res_partner_predata_1">
        <field name="name">Iron Maiden</field>
        <--! This line will add the category-->
        <field eval="[(6, 0, [ref('module_name.res_partner_category_1')])]" name="category_id"/>
    </record>
</odoo>

我在 odoo 14 上遇到了同样的问题。在我的例子中,你的解决方案没有完全奏效。而不是:

   <field eval="[(6, 0, [ref('module_name.res_partner_category_1')])]" name="category_id"/>

我必须设置:

   <field name="category_id" eval="[(6,0,[ref('res_partner_category_1')])]"/>