2

次のような 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>

これは正常に機能しました。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_id" ref="saas_portal.client"/>
        <field name="function">_cron_suspend_expired_clients</field>
        <field name="args">()</field>
    </record>

ご覧のとおり、フィールド モデルを model_id に変更しました。しかし、何らかの理由でエラーが発生しています:

odoo.tools.convert.ParseError: "システムに外部 ID が見つかりません: saas_portal.client"

モジュール自体はsaas_portalと呼ばれ、参照しているモデルには_name = 'saas_portal.client'があり、使用しようとしまし<field name="model_id" ref="saas_portal.saas_portal.client"/>たが成功しませんでした。足りないものはありますか?

4

2 に答える 2

3

ref の前にmodel_.

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

または、モジュール名も saas_portal であるため:

<field name="model_id" ref="saas_portal.model_saas_portal_client"/>
于 2017-11-30T15:34:28.210 に答える