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

问题描述 投票:0回答:1

目标:

我使用Odoo 10作为远程员工的前端视图系统。

我想要:

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

数据集约为+ 400K记录。

我知道

  • 我如何从SQL导出数据并使该文件可用于Odoo。

我不知道

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

我相信我可以通过Odoo中的bulit-in Scheduled Actions功能实现这一目标,但我对如何实际使用它并编写所需的python代码感到困惑。 (我现在知道VBA并学习Python。)

如果有更好的方法,我也愿意接受建议。

python odoo odoo-10
1个回答
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内部有一点深入的了解,才能让它运行起来。

© www.soinside.com 2019 - 2024. All rights reserved.