2016-05-18 2 views
3

Я пытаюсь использовать Django REST Framework с MongoDB.Могу ли я полностью удалить Serializers из DRF?

Я попытался использовать Mongoengine с Django-REST-Framework-Mongoengine, и он не работает (или я что-то не так, но документация отсутствует, поэтому я не знаю, как это сделать правильно).

Теперь я пытаюсь полностью избавиться от слоя Mongoengine и напрямую использовать PyMongo.

По существу, для создания каждого enpoint в классическом Django REST Framework, вам нужен триплет:

(ViewSet, Serializer, Model)

С PyMongo зайду Model слой полностью. Вопрос в том, должен ли я поддерживать уровень Serialier? Можно ли создать ViewSet без Serializer? У вас есть Browsable API? Killer-особенности Django REST Framework для меня: Browsable API и запросить Parsers.

Нужно ли Browsable APISerializer?

+0

Я бы порекомендовал вам использовать слой 'Mongoengine' вместо' Pymongo'. Возможно, вы должны добавить код, который вы пытаетесь использовать в DRF-MongoEngine, который не работает. –

+1

@RahulGupta я. Я сообщил, что этот код является ошибкой в ​​их github: https://github.com/umutbozkurt/django-rest-framework-mongoengine/issues/173 и на самом деле нашел обходное решение, чтобы заставить его работать (хотя некоторые из них были проверены). Но думать, что все mongoengine - это просто репликация моделей django для монго, которые вам не нужны. Язык запросов pymongo не хуже, чем язык запросов django. –

ответ

4

Если вы хотите сохранить API для просмотра, вам понадобится сериализатор. Вы можете обойтись без сериализаторов, но вы потеряете эту функцию, хотя json или form все еще работают.

Я написал несколько строк о use of Django REST framework without models, если это может помочь.

+0

Спасибо, Ксавье. Таким образом, я могу жить без сериализаторов, я просто потеряю формы в браузере API. –

+0

Ксавье, если это не хлопотно для вас, не могли бы вы также изучить этот вопрос, я действительно застрял там: http://stackoverflow.com/questions/37275270/django-rest-framework-how-serializer-context- работы –

+0

Боб, вы можете посмотреть [этот пост] (https://www.dabapps.com/blog/api-performance-profiling-django-rest-framework/) от Тома Кристи. Это дает некоторое представление о том, как разделить вещи с DRF. – Linovia

Смежные вопросы