从 Django 创建 SQL 插入脚本以填充 PostgreSQL 数据库
Posted
技术标签:
【中文标题】从 Django 创建 SQL 插入脚本以填充 PostgreSQL 数据库【英文标题】:Create an SQL inserting script from Django to populate a PostgreSQL database 【发布时间】:2016-04-21 03:12:01 【问题描述】:我目前正在尝试在 Django 模型中插入一些从多个解析文件中提取的复杂数据。因为我有大量数据要插入,所以我不想将 Django 脚本中的查询乘以到数据库。
有没有办法生成 SQL 脚本,而不是执行所有 object_to_insert.save()
并使用 psql -f my_script.sql
插入脚本?
【问题讨论】:
【参考方案1】:如果只有一张表,Django ORM查询集中有bulk_create方法:https://docs.djangoproject.com/en/stable/ref/models/querysets/#bulk-create
此方法获取对象列表并以一种有效的方式将它们插入到数据库中,如果数据库支持多次插入,通常只在一个查询中。
【讨论】:
这是一个非常有趣的可能性,但我有多个相互连接的表,所以这不是我能想象的最优化的解决方案。 你知道所有被插入对象的主键吗? 我定义了一些主键,但是有一些带有链接对象的表使用 django 默认序列字段作为主键。我认为创建插入脚本可能是个问题。以上是关于从 Django 创建 SQL 插入脚本以填充 PostgreSQL 数据库的主要内容,如果未能解决你的问题,请参考以下文章