【问题标题】:Create an SQL inserting script from Django to populate a PostgreSQL database从 Django 创建 SQL 插入脚本以填充 PostgreSQL 数据库
【发布时间】:2016-04-21 03:12:01
【问题描述】:

我目前正在尝试在 Django 模型中插入一些从多个解析文件中提取的复杂数据。因为我有大量数据要插入,所以我不想将 Django 脚本中的查询乘以到数据库。

有没有办法生成 SQL 脚本,而不是执行所有 object_to_insert.save() 并使用 psql -f my_script.sql 插入脚本?

【问题讨论】:

    标签: python sql django postgresql django-views


    【解决方案1】:

    如果只有一张表,Django ORM查询集中有bulk_create方法:https://docs.djangoproject.com/en/stable/ref/models/querysets/#bulk-create

    此方法获取对象列表并以一种有效的方式将它们插入到数据库中,如果数据库支持多次插入,通常只在一个查询中。

    【讨论】:

    • 这是一个非常有趣的可能性,但我有多个相互连接的表,所以这不是我能想象的最优化的解决方案。
    • 你知道所有被插入对象的主键吗?
    • 我定义了一些主键,但是有一些带有链接对象的表使用 django 默认序列字段作为主键。我认为创建插入脚本可能是个问题。
    猜你喜欢
    • 2021-02-01
    • 1970-01-01
    • 2018-08-13
    • 1970-01-01
    • 2018-12-16
    • 1970-01-01
    • 2018-01-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多