【发布时间】:2016-09-15 05:54:02
【问题描述】:
我正在尝试将 Django REST Framework 与 MongoDB 一起使用。
我尝试将 Mongoengine 与 Django-REST-Framework-Mongoengine 一起使用,但它不起作用(或者我做错了什么,但缺少文档,所以我不知道如何正确操作)。
现在我正在尝试完全摆脱 Mongoengine 层,直接使用 PyMongo。
本质上,要在经典 Django REST 框架中创建每个端点,您需要一个三元组:
(ViewSet, Serializer, Model)
使用 PyMongo,我将完全删除 Model 层。问题是:我必须保持Serialier 级别吗?我可以创建一个没有Serializer 的ViewSet 并让Browsable API 工作吗?对我来说,Django REST Framework 的杀手级功能是 Browsable API 和请求 Parsers。
Browsable API 是否绝对需要Serializer?
【问题讨论】:
-
我建议您使用
Mongoengine层而不是Pymongo。也许你应该添加你在 DRF-MongoEngine 中尝试的代码,但它不起作用。 -
@RahulGupta 我愿意。我在他们的 github 上将该代码报告为一个错误:github.com/umutbozkurt/django-rest-framework-mongoengine/issues/…,实际上找到了一种解决方法来让它工作(虽然失去了一些验证)。但是想一想,整个 mongoengine 只是 mongo 的 django 模型的复制,你不需要 - pymongo 查询语言并不比 django 查询语言差。