ir.cron:“ ERREUR:虚假价单NULL违禁品NOT NULL de la Colonne«模型ID»

时间:2019-03-13 15:23:20

标签: odoo odoo-12

我正在尝试在odoo 12中安装一个包含ir.cron模块类型的视图的模块。但它显示了此错误:
我不知道如何纠正它。有人可以帮我吗?

odoo.tools.convert.ParseError: "ERREUR:  une valeur NULL viole la contrainte NOT NULL de la colonne « model_id »
DETAIL:  La ligne en échec contient (434, Annuler la remise mensuelle du client, ir.actions.server, null, null, action, 1, 2019-03-13 14:48:25.710923, 1, 2019-03-13 14:48:25.710923, ir_cron, object_write, 5, null, null, # Available variables:
#  - env: Odoo Environment on which the a..., null, null, null, null, null, null, null, days, specific, null, user_id)
" while parsing /home/*/PycharmProjects/Odoo12/*/sale_discount_total/views/cron.xml:5, near
<record model="ir.cron" id="deactivate_partner_discount_cron">
            <field name="name">Annuler la remise mensuelle du client</field>
            <field name="interval_number">1</field>
            <field name="interval_type">months</field>
            <field name="numbercall">-1</field>
            <field eval="False" name="doall"/>
            <field eval="'res.partner'" name="model"/>
            <field eval="'deactivate_partner_discount'" name="function"/>
            <field eval="'()'" name="args"/>
        </record>

2 个答案:

答案 0 :(得分:1)

问题出在行<field eval="'res.partner'" name="model"/>上,实际的字段名称是model_id。您必须将字段设置为

<field name="model_id" ref="model_res_partner"/>

由于model_id是与Many2one的{​​{1}}关系,因此您可以将ir.model与模型xml id一起使用,因为ref的模型xml id为{{1} }。

答案 1 :(得分:1)

  

错误:否无效无效无效«模型ID»

粗略翻译,此错误显示:

  

错误:NULL值违反列model_id上的NOT NULL约束

如果您查看ir.cron记录的现有示例的核心代码,那么您将看到一个名称为model_id的XML节点,创建cron记录是必需的。

您正在使用:

<field eval="'res.partner'" name="model"/>

但是在Odoo 12中,这是预期的:

<field name="model_id" ref="model_res_partner"/>

我在任何地方的Odoo文档中都没有看到它,因此我将链接到some of the source code,以便您可以与自己的记录进行比较。