【问题标题】:How to add null value to field Many2one from data file Odoo如何从数据文件 Odoo 向字段 Many2one 添加空值
【发布时间】:2017-01-24 10:40:42
【问题描述】:

我想按数据文件添加一个新的薪资结构类别。这是我当前的代码

   <record id="MEALS" model="hr.salary.rule.category">
        <field name="name">Meals</field>
        <field name="code">MEALS</field>
        <field name="parent_id" eval=""></field>
    </record>

我所需要的只是一个没有父类别但有这些代码父类别的类别是新结构的基础。我试过用 evals="0", evals = " " 或删除字段 parent_id 。我怎样才能在这个字段中添加空值?

【问题讨论】:

    标签: openerp odoo-10


    【解决方案1】:

    这种行为有点奇怪。AFAIK 如果您不包含parent_id 字段,它应该可以工作并且具有空值,因为该字段上没有默认值。 (除非您扩展了模型并在该字段上添加了default)。

    在 Odoo ORM 中空值不起作用的唯一字段是 Integerfloat 字段。 (这就是它们在表单视图中的初始值始终为 0 或 0.0 的原因)。

    引用文档:

    字段

    每条记录可以由字段标签组成,定义值 创建记录时设置。没有字段的记录将使用所有 默认值(创建)或什么都不做(更新)。

    一个字段有一个强制的name属性,要设置的字段名, 以及定义值本身的各种方法:

    什么都没有

    如果没有为该字段提供值,则隐式 False 将 设置在球场上。可用于清除字段,或避免使用 字段的默认值。

    试试这个&lt;field name="parent_id" /&gt;&lt;field name="parent_id" eval="False" />

    如果上述方法不起作用,请仔细检查您的代码库并确保您没有在该字段上设置任何默认值。

    【讨论】:

    • 你是对的,它有 parent_id 字段的默认值,我通过继承模型 hr.payroll.structure 并将默认值更改为 False :parent_id = fields.Many2one(default=False)
    猜你喜欢
    • 2021-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多