如何自动将excel文件导入自定义Odoo 10模块?

时间:2018-09-08 00:00:11

标签: python odoo odoo-10

目标:

我将Odoo 10用作远程人员的仅前端视图系统。

我要:

  1. 定期从主生产数据库(SQL Server)导出包含完整数据集的(excel)文件,
  2. 删除Odoo和
  3. 中的所有记录
  4. 导入新数据。

数据集大约有40万条记录。

我知道

  • 如何获取从SQL导出的数据并使文件可用于 奥杜。

我不知道

  • 如何从模块中删除所有记录(只需执行 重新安装)
  • 我如何运行自动化任务以在一夜之间(较低的生产时间)导入新数据

我相信我可以通过Odoo中内置的Scheduled Actions函数来完成此操作,但是我对如何实际使用它以及编写所需的python代码感到困惑。 (我知道VBA,现在正在学习Python。)

如果有更好的方法,我也乐于提出建议。

1 个答案:

答案 0 :(得分:1)

如果直接从Odoo连接到MSSQL Server以便查询数据以将其插入Odoo模型表中会更好。 要删除Odoo模型表的所有记录,只需使用以下语句即可:

self.env['custom.model'].search([]).unlink()

您可以将代码导入/创建语句中的代码放入模型方法中,该模型方法可以在要计划和执行的Odoo Cron任务中执行。激活Odoo开发人员模式后,您可以在Settings/Technical/Automation/Scheduled Actions菜单中找到Odoo Crons菜单。

还有一些模块允许您直接连接到外部数据库源,例如MSSQL Server,以便您可以直接与主数据库进行交互。

https://github.com/OCA/server-tools/tree/10.0/base_external_dbsource

https://github.com/OCA/server-tools/tree/10.0/base_external_dbsource_mssql

当然,所有这一切都需要对Odoo内部有一点点了解才能使它运行。