从Django临时表迁移数据到主表的最有效方法是什么?

0qx6xfy6  于 2022-12-14  发布在  Go
关注(0)|答案(1)|浏览(167)

我有一个数据工程管道,它基本上是每晚扫描数据表,用前端客户端查看的计算填充主表。这个管道需要大约6个小时才能完成。
我没有删除主表并在6个小时内写入计算,而是将计算写入临时表(这样,在生成今天的计算时,主表仍具有前一天的计算)。
完成后,我尝试让Django ORM删除主表,并在一个事务中将临时表中的所有新计算插入到主表中。
有没有一个有效的方法来使用Django ORM来做到这一点?谢谢!
另请注意,临时模型和主模型具有完全相同的字段副本。

h7appiyu

h7appiyu1#

你可以在模型的同一个应用程序中创建一个python脚本,该脚本基本上会在临时表上使用for循环,提取字段数据,然后将其传递给主表进行添加。
由于它们具有完全相同的字段,并且可能具有相同的验证器,因此在保存到主表时不需要显式指定字段名,只需将临时表中的每一行直接传递到主表并保存即可。

INSERT INTO <maintable>
SELECT * FROM <temptable>;

相关问题