python - 使用基于 Python 的开源框架和 NoSQL 后端构建 REST API

标签 python rest django-rest-framework architecture nosql

我想使用 NoSQL 后端和基于 Python 的开源框架来构建 REST API。该 API 将在云环境中运行,目标是使其与云无关并且能够部署在任何地方。它必须对后端数据库技术有一些抽象。我发现 Django REST Framework 正是我正在寻找的,但 Django ORM 仅支持 RDBMS。为了通过 Django 启用 NoSQL 支持,似乎已经开发了一些开源包,但这些项目已被放弃。

我知道在技术上可以将 Amazon DynamoDB 或 Azure Cosmos DB 与 Django REST Framework 结合使用,但由于它未得到官方支持,因此听起来需要自定义代码并偏离标准配置才能使其正常工作。

  • 是否有人使用带有 Django REST 框架的 NoSQL 后端运行供生产使用的 API?
  • 使用 Django REST 框架,是否可以抽象后端数据库连接以支持不同的 NoSQL 数据库类型?
  • 像 Flask 这样的框架是否更适合使用这种类型的后端创建 REST API?
  • 如果 Django REST 框架无法满足这些要求,是否有其他可用的 REST 框架可以提供所需的功能?

最佳答案

可以运行 Django + MongoDB,但这不是一个好主意。

主要原因是Django没有对Mongodb的官方支持。有一个名为 Djongo 的包,它非常不可靠且未完成,它允许您使用 Django 的 ORM,但有很多缺陷。您可以查看number of issues into this github repository .

相反,您可以使用 PyMongo 将 django 与 mongodb 连接,但请记住,您必须原始执行查询。

此外,就dealing with different databases in django而言,我已经做了这样的事情,但是使用 Postgres 和 mongodb,你必须创建一个 Router 类来管理连接。

在我看来,我会使用 Flask 并看看 FastAPI,它几乎与 Flask 类似,但显然有更好的方法来创建 API。

关于python - 使用基于 Python 的开源框架和 NoSQL 后端构建 REST API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73421051/

相关文章:

python - Windows中写入unicode内容和unicode文件名

Python 连接到 MySQL 失败,错误为 "dh key too small"

Python 2.7 : Pandas datetime does not work for future dates?

python - 如何在 DRF 中序列化自定义用户模型

django - 序列化器返回对象而不是字段

python - django 休息细节_路线测试

python - scikitlearn - HashingVectorizer 之后 MiniBatchKMeans 聚类过程中出现内存错误

wcf - IIS 托管的 WCF 休息服务出现 400 错误,URL 是否太长?

c# - 使用逗号分隔数值的表中的 POST 和 PUT 问题

javascript - jquery ajax错误未捕获RangeError : Maximum call stack size exceeded