设置定时任务
from odoo import models, fields, api
class DelData(models.Model):
_name = 'del.data'
_description = '定时清理数据'
@api.model
def del_data(self):
to_removes = [
['sale.order'],
['sale.order.line'],
['purchase.order'],
['purchase.order.line'],
]
try:
for line in to_removes:
obj_name = line[0]
obj = self.pool.get(obj_name)
if obj:
sql = "delete from %s where id >= 1" % obj._table
self.env.cr.execute(sql)
else:
print('无此模型')
except Exception as e:
raise Warning(e)
return True
设置菜单
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="view_del_data_transient" model="ir.ui.view">
<field name="name">del.data.form</field>
<field name="model">del.data</field>
<field name="arch" type="xml">
<form create="false" edit="false" delete="false">
<p>确认清除数据吗?</p>
<footer>
<button name="remove_data" string="确认" type="object" class="btn-primary" />
<button string="取消" class="btn-default" special="cancel" />
</footer>
</form>
</field>
</record>
<record model="ir.actions.act_window" id="del_data_list_action">
<field name="name">清除运行数据</field>
<field name="res_model">del.data</field>
<field name="view_type">form</field>
<field name="view_mode">form</field>
<field name="target">new</field>
<field name="context">{'create': False}</field>
</record>
<menuitem action="del_data_list_action"
id="menu_action_del_data_form"
name="清除运行数据"
parent="base.menu_users"/>
</odoo>
效果图