Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml 在系统中找不到外部ID_Xml_Python 3.x_Openerp_Odoo 11 - Fatal编程技术网

Xml 在系统中找不到外部ID

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" />

我有一个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" />
        <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-answer
ref=“model\u saas\u portal\u client”
中所说的,即使您重复了答案,但您值得投赞成票clear@Tchi-奥多真