Xml 在系统中找不到外部ID
我有一个Odoo 10 cron xml,它如下所示:Xml 在系统中找不到外部ID,xml,python-3.x,openerp,odoo-11,Xml,Python 3.x,Openerp,Odoo 11,我有一个Odoo 10 cron xml,它如下所示: <record forcecreate="True" id="saas_portal_suspend_expired" model="ir.cron"> <field name="name">Saas portal - suspend expired clients</field> <field eval="True" name="active" />
<record forcecreate="True" id="saas_portal_suspend_expired" model="ir.cron">
<field name="name">Saas portal - suspend expired clients</field>
<field eval="True" name="active" />
<field name="user_id" ref="base.user_root"/>
<field name="interval_number">1</field>
<field name="interval_type">days</field>
<field name="numbercall">-1</field>
<field name="doall" eval="False"/>
<field name="model">saas_portal.client</field>
<field name="function">_cron_suspend_expired_clients</field>
<field name="args">()</field>
</record>
<record forcecreate="True" id="saas_portal_suspend_expired" model="ir.cron">
<field name="name">Saas portal - suspend expired clients</field>
<field eval="True" name="active" />
<field name="user_id" ref="base.user_root"/>
<field name="interval_number">1</field>
<field name="interval_type">days</field>
<field name="numbercall">-1</field>
<field name="doall" eval="False"/>
<field name="model_id" ref="saas_portal.client"/>
<field name="function">_cron_suspend_expired_clients</field>
<field name="args">()</field>
</record>
Saas门户-挂起过期的客户端
1.
天
-1
saas_portal.client
_cron\u挂起\u过期\u客户端
()
这是应该的。我根据Odoo v11修改了代码以使其正常工作,因此看起来如下所示:
<record forcecreate="True" id="saas_portal_suspend_expired" model="ir.cron">
<field name="name">Saas portal - suspend expired clients</field>
<field eval="True" name="active" />
<field name="user_id" ref="base.user_root"/>
<field name="interval_number">1</field>
<field name="interval_type">days</field>
<field name="numbercall">-1</field>
<field name="doall" eval="False"/>
<field name="model">saas_portal.client</field>
<field name="function">_cron_suspend_expired_clients</field>
<field name="args">()</field>
</record>
<record forcecreate="True" id="saas_portal_suspend_expired" model="ir.cron">
<field name="name">Saas portal - suspend expired clients</field>
<field eval="True" name="active" />
<field name="user_id" ref="base.user_root"/>
<field name="interval_number">1</field>
<field name="interval_type">days</field>
<field name="numbercall">-1</field>
<field name="doall" eval="False"/>
<field name="model_id" ref="saas_portal.client"/>
<field name="function">_cron_suspend_expired_clients</field>
<field name="args">()</field>
</record>
Saas门户-挂起过期的客户端
1.
天
-1
_cron\u挂起\u过期\u客户端
()
可以看到,我将字段模型更改为model_id。但由于某些原因,我得到了错误:
odoo.tools.convert.ParseError:“在系统中找不到外部ID:saas_portal.client”
该模块本身被称为saas\u门户,我引用的模型有_name='saas\u portal.client',我试图使用
,但没有成功。有什么我遗漏的吗?我不知道这是否在odoo版本之间更改,但是
参考模型时,使用以下方法:
addon_name.model_model_name#()-->()
例:
就你而言:
ref="model_saas_portal_client"
# or
your_addon_name.model_saas_portal_client
您应该在ref前面加上
型号
<field name="model_id" ref="model_saas_portal_client"/>
或者,由于您的模块名称也是saas_门户:
<field name="model_id" ref="saas_portal.model_saas_portal_client"/>
我试图设置
,但仍然没有效果,您的模型与ir.cronYes、模块saas_portal、数据中的xml/cron.xml、模型中的模型/saas_portal.py数据xml包含在清单中、模型导入在同一加载项中。虽然这不是我唯一的问题。在所有记录中都遇到了相同的问题,其中有字段model\u id
作为xml中模型的参考。您应该使用model\u,正如我在y-answerref=“model\u saas\u portal\u client”
中所说的,即使您重复了答案,但您值得投赞成票clear@Tchi-奥多真