错误:NULL值违反field_id列中的NOT NULL约束

问题描述 投票:1回答:1

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

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

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>
odoo odoo-12
1个回答
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”(这是安装应用库存时的默认仓库)。

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

© www.soinside.com 2019 - 2024. All rights reserved.