如何在文件中添加 many2one 字段作为 data.xml 文件 odoo 12

How to add many2one field in a file as data.xml file odoo 12

我在模型 product.template 下的字段类别 (categ_id) 中创建了一个名为 x 的新类别,我想加载到 data.xml,我该如何实现?

编辑

我试过这样并在清单中添加数据文件,我在不同的数据库中试过 运行 但它没有显示,我的 xml 代码如下:


<odoo>
    <data>
        <record id="product_category_all" model="product.category">
            <field name="name">All</field>
        </record>

        <record id="product_category_1" model="product.category">
            <field name="parent_id" ref="product_category_all"/>
            <field name="name">MEDICINES</field>
            <field name="complete_name">All / MEDICINES</field>
        </record>
        <record id="product_category_2" model="product.category">
            <field name="parent_id" ref="product_category_all"/>
            <field name="name">LAB TEST</field>
            <field name="complete_name">All / LAB TEST</field>
        </record>
        <record id="product_category_3" model="product.category">
            <field name="parent_id" ref="product_category_all"/>
            <field name="name">Vaccine</field>
            <field name="complete_name">All / Vaccine</field>
        </record>
    </data>
</odoo>

要添加新类别,您需要创建一个新的 product.category 记录。

产品数据文件中有一个示例,它定义了两个类别 SaleableExpenses 作为 All 类别的子类别:

<record id="product_category_all" model="product.category">
    <field name="name">All</field>
</record>
<record id="product_category_1" model="product.category">
    <field name="parent_id" ref="product_category_all"/>
    <field name="name">Saleable</field>
</record>
<record id="cat_expense" model="product.category">
    <field name="parent_id" ref="product_category_all"/>
    <field name="name">Expenses</field>
</record>

编辑:

您可以在 Odoo 找到 Data Files documentation that the ref attribute is used to provide the value of many2one fields using a valid external id

All 类别在产品数据文件中使用 product_category_all 作为 id 声明。外部 ID 应该是:

product.product_category_all

complete_name 是一个计算字符字段,store 设置为 True,其值应在请求时计算并返回,然后存储在数据库中。

您需要更改 parent_id 字段定义并删除 complete_name 字段。

示例:

<record id="product_category_1" model="product.category">
    <field name="parent_id" ref="product.product_category_all"/>
    <field name="name">MEDICINES</field>
</record>
<record id="product_category_2" model="product.category">
    <field name="parent_id" ref="product.product_category_all"/>
    <field name="name">LAB TEST</field>
</record>
<record id="product_category_3" model="product.category">
    <field name="parent_id" ref="product.product_category_all"/>
    <field name="name">Vaccine</field>
</record>