ERREUR:价值无效违规无效殖民地«field_id»

时间:2019-04-09 15:00:38

标签: odoo odoo-12

我正在尝试将模块从odoo 10迁移到odoo 12,该模块包含具有ir.default模块类型的视图。但是它显示了这个错误:

我不知道如何纠正它。有人可以帮我吗?

odoo.tools.convert.ParseError: "ERREUR:  une valeur NULL viole la contrainte NOT NULL de la colonne « field_id »
DETAIL:  La ligne en échec contient (9, null, null, null, null, null, 1, 2019-04-09 14:57:31.803622, 1, 2019-04-09 14:57:31.803622)
" while parsing /PycharmProjects/Odoo12/bank_reconciliation/views/account_selected_move_line.xml:32, near
<record model="ir.default" id="action_selected_account_move_line_values">
            <field name="name">Sélectionner les écritures</field>
            <field name="field_id"/>
            <field name="key">action</field>
            <field name="key2">client_action_multi</field>
            <field name="value" eval="'ir.actions.act_window,' + str(ref('action_selected_account_move_line'))"/>
            <field name="binding_model_id" ref="model_account_move_line"/>
            <field name="object" eval="True"/>
        </record>

1 个答案:

答案 0 :(得分:1)

您的xml记录中没有field_id的值。始终为模型字段设置默认值。因此,获取字段xml /外部ID并进行设置。字段的外部ID生成:

module.field_model__fieldname

例如,对于模型sale.order,字段name首先在模块sale中实现,其字段为sale.field_sale_order__name

编辑:您的xml记录对于模型ir.default来说是错误的,看起来像旧模型ir.values。我发现了一个通过xml创建ir.default记录的示例:

<function id="purchase_default_set"
    model="ir.default" name="set"
    eval="('purchase.requisition', 'warehouse_id', ref('stock.warehouse0'))"/>

此示例来自模块purchase_requistion,并在字段purchase.requisition上为模型ẁarehouse_id创建一个默认值,其默认值为“外部ID'stock.warehouse0'后面的记录ID”安装应用程序库存时的默认仓库。

您只需将其调整为所需的默认值即可。