Search code examples
pythonxmlodoo

Odoo 11 - Action Server


Here is my code for a custom action declaration:

        <record id="scheduler_synchronization_update_school_and_grade" model="ir.cron">
            <field name="name">Action automatisee ...</field>
            <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="model_ecole_partner_school"/>
            <field name="code">model.run_grade_establishment_smartbambi()</field>
            <field name="active" eval="False"/>
        </record>

Here is the start of my function which is called:

enter image description here

Here is the error message when I update my custom module on the server:

odoo.tools.convert.ParseError: "ERREUR:  une valeur NULL viole la contrainte NOT NULL de la colonne « use_relational_model »
DETAIL:  La ligne en échec contient (516559, 1, null, 1, 2020-01-02 14:56:39.02145, null, 2020-01-02 14:56:39.02145, ir.actions.server, Action automatisee ..., null, action, model.run_grade_establishment_smartbambi(), 5, null, null, null, null, null, null, null, null, object_write, null, null, 397, null, null, null, null, null, null, null, null, null, null, null, null, f, null, null, ir_cron, null)
" while parsing /opt/odoo11/addons-odoo/Odoo/ecole/data/actions.xml:33, near
<record id="scheduler_synchronization_update_school_and_grade" model="ir.cron">
            <field name="name">Action automatisee ...</field>
            <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="model_ecole_partner_school"/>
            <field name="code">model.run_grade_establishment_smartbambi()</field>
            <field name="active" eval="False"/>
        </record>

Do you have an idea of ​​the problem ? I can't find anything on the internet

thank you so much

EDIT :

I have solved my problem. With PGAdmin 4, the use_relational_model field was required. I have deactivate the required.

Thanks


Solution

  • You missed the state field in the cron definition. This is the "Action To Do" field. Try following:

        <record id="scheduler_synchronization_update_school_and_grade" model="ir.cron">
            <field name="name">Action automatisee ...</field>
            <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="model_ecole_partner_school"/>
            <field name="state">code</field>
            <field name="code">model.run_grade_establishment_smartbambi()</field>
            <field name="active" eval="False"/>
        </record>