Odoo11创建定时任务

Odoo10迁移Odoo11系列

    Odoo11优势蛮多,很多新用户都勇敢的使用了Odoo11,但是很多Odoo10的模块并不是直接就可以安装到Odoo11上的,这其中有python也有Odoo框架的影响...

Odoo10时定义自动任务的示例代码如下:

<record forcecreate="True" id="ir_cron_mail_scheduler_action" model="ir.cron">
<field name="name">Email Queue Manager</field>
<field name="user_id" ref="base.user_root"/>
<field name="interval_number">1</field>
<field name="interval_type">hours</field>
<field name="numbercall">-1</field>
<field eval="False" name="doall"/>
<field eval="'mail.mail'" name="model"/>
<field eval="'process_email_queue'" name="function"/>
<field eval="'()'" name="args"/>
</record>

Odoo11同样的定时任务代码如下:

<record forcecreate="True" id="ir_cron_mail_scheduler_action" model="ir.cron">
<field name="name">Mail: Email Queue Manager</field>
<field name="model_id" ref="model_mail_mail"/>
<field name="state">code</field>
<field name="code">model.process_email_queue()</field>
<field name="user_id" ref="base.user_root"/>
<field name="interval_number">1</field>
<field name="interval_type">hours</field>
<field name="numbercall">-1</field>
<field eval="False" name="doall"/>
</record>

区别有以下几点:

  • 模型的定义,Odoo11使用model_id字段,使用ref的方式赋值

  • Odoo11增加一个state字段,值可以为code

  • Odoo11使用code字段替代Odoo10的function字段,注意写法model.

  • Odoo11去掉了args字段,需要参数的话直接在code方法中写

留下评论

你应该 登入 张贴评论