【问题标题】:Django - Use the given sql dump to create the other models and to populate the data [duplicate]Django - 使用给定的 sql 转储创建其他模型并填充数据 [重复]
【发布时间】:2018-03-24 07:51:05
【问题描述】:

我正在练习开发一个复杂的应用程序,我以前用 PHP 开发过相同的应用程序并有一个 sql 文件。我想知道如何创建新模型并从 sql 文件中填充数据。我已经阅读了关于从 JSON 文件中抓取的教程,但是是否有相同的在线资源。

【问题讨论】:

    标签: python sql django postgresql


    【解决方案1】:

    您可以使用manage.py inspectdb 命令。

    它将连接到数据库并创建模型类。

    因此您需要手动创建数据库并使用数据库工具从 sql 文件中读取结构和数据。之后,您应该将连接设置放入您的 settings.py 文件并执行:

    $ python manage.py inspectdb > models.py
    

    文档 - Integrating with legacy database

    UPD 据我了解,您想从 SQL 文件转移到仅 django 的解决方案。所以这就是你实现它的方法。

    1. 使用 PgAdmin 等工具部署临时数据库和负载转储。
    2. 设置您的 django 应用,使其可以连接到同一个数据库
    3. 使用inspectdb 创建模型
    4. 使用dumpdata将值保存为json文件
    5. 从您的脚手架模型中删除 managed = False(从第 3 点开始)
    6. 使用makemigrations 命令创建迁移。

    之后,您将能够使用 Django 工具部署您的应用程序:迁移以创建数据库结构和 loaddata 从 json 加载数据。

    【讨论】:

    • 我不明白。 sql文件是用php创建的。我想用 django 将数据加载到 postgresql。我不记得表格和列。
    • 你有 SQL 文件,所以你不需要记住表和列。只需创建数据库和负载转储(例如使用 PgAdmin)。然后你可以使用 inspectdb 来创建模型。如果您不想在服务器上手动部署 SQL,您可以使用 manage.py dumpdata 创建 JSON。我用步骤指南更新答案
    猜你喜欢
    • 1970-01-01
    • 2019-08-24
    • 1970-01-01
    • 2018-05-05
    • 1970-01-01
    • 1970-01-01
    • 2013-10-26
    • 2021-12-10
    • 2021-03-20
    相关资源
    最近更新 更多