【问题标题】:How to populate my django database with json that I scraped from a website如何使用从网站上抓取的 json 填充我的 django 数据库
【发布时间】:2019-11-14 14:05:57
【问题描述】:

我在 Django 应用程序上使用他们的 API 从网站上抓取数据。数据是 JSON(当我最终检索它时是一个 Python 字典)。数据有很多很多领域。我想将它们存储在数据库中,以便我可以创建允许查找和修改(更新)的端点。我需要使用他们的字段来创建我的数据库的结构。对于这个问题或如何解决它的任何帮助将不胜感激。如果我的问题不够简洁,我深表歉意,如果有什么需要说明的,请告诉我。

我看到很多很多人说只是填充它,例如这个例子How to populate a Django sqlite3 database。问题是,有太多领域我无法亲自创建 django 模型字段。根据我的阅读,我似乎可以使用 serializers.ModelSerializer,尽管这似乎只是用已经定义的模型填充了一个预先存在的数据库。

【问题讨论】:

    标签: python json django django-models


    【解决方案1】:

    我会选择文档数据库,例如 Elasticsearch 或 MongoDB。 这些是为这种情况而设计的,请查看。

    【讨论】:

    • 您好,谢谢您的建议。但是,我试图尽可能少地使用与软件有关的外部依赖项,并且我试图坚持使用 sqlite,因为项目不是太大。但我会在未来的项目中注意这一点!谢谢!
    【解决方案2】:

    如果没有详细信息就很难回答,但我会考虑分两步进行 - 首先,将您的 json 数据转换为数据库模式,例如使用 sqlify 之类的工具:https://sqlify.io/convert/json/to/sqlite

    然后,从生成的架构文件中创建一个数据库,并使用 inspectdb 生成您的 django 模型:https://docs.djangoproject.com/en/2.2/ref/django-admin/#inspectdb

    您可能需要调整生成的架构和/或模型,但这应该对自动化流程大有帮助。

    【讨论】:

    • 非常感谢,我会试试这个方法并回复你。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-01
    • 2011-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-23
    相关资源
    最近更新 更多