我正在尝试在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>
答案 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,以便您可以与自己的记录进行比较。