我正在开发一个 Django 应用程序,它使用 Django 1.8 版本。
我们处理的大部分数据都是JSON数据。我们正在尝试实现一个 NoSQL 数据库。
但是我发现 MongoDB 与 Django 版本 1.8 不兼容。
有没有可以与Django一起使用的NoSQL数据库
>= 1.8
?
Django 本身并不正式支持 NoSQL 数据库。然而,有许多副项目和分支允许 Django 中的 NoSQL 功能,例如 Django non-rel。
您还可以查看 wiki 页面,其中讨论了一些替代方案。
这是引用自django官方文档
这里有一个有趣的存储库,允许使用 MongoDB 作为 django 后端。它的工作原理是将 SQL 命令编译成 MongoDB 文档查询。
大多数基本的东西,如 django admin、django session 等都可以工作。
多年后(2022 年),djongo 仍然是 NoSQL 环境中与 Django 3.0.x 配合良好(有一些约束限制)的唯一选项。
但现在 Django 4.0.1 主要版本正在酝酿之中,djongo 最新的 1.3.6(根据 pypi 于 2021 年 6 月发布)开始崩溃。根据我使用 Django==4.0.4 和 djongo==1.3.6 的经验,几乎所有选择/更新查询都不起作用,并且 SQLDecodeError 异常出现在控制台中。
djongo 维护者也创建了付费订阅计划,但我不是他们的客户,所以无法对 djongo 的商业化版本发表任何评论。休息一下,鉴于开发人员将自己限制在 Django 3.0.x 上,开源 AGPL 许可的 djongo 是不付费开发人员使用 Django 与 MongoDB 的唯一最佳选择。
具体来说,我一直在使用 Django==3.0.5 和 djongo==1.3.6,这在大多数情况下都可以正常工作。