Разница между Mongoengine, колба-MongoEngine и Django-MongoEngine?

Каковы различия между проектами Mongoengine, flask-MongoEngine и Django-MongoEngine?

Я использую Mongoengine в своем проекте Django. Получу ли я какие-либо преимущества, если вместо этого буду использовать Django-MongoEngine?

4 ответа

В дополнение к другим ответам, flask mongoengine добавляет поддержку wtforms. Если вы не используете flask admin или выполняете рендеринг на стороне сервера, скорее всего, вам не нужен flask-mongoengine. Вы можете просто пойти с mongoengine

Цель Django MongoEngine - обеспечить лучшую интеграцию с Django - однако в настоящее время (июнь 2014 г.) она нестабильна и в файле readme говорится

НЕ Клонировать до стабильного

Так что будьте осторожны!

Django framework предоставляет унифицированный унифицированный интерфейс для подключения к бэкэнду базы данных, который обычно является базой данных на основе SQL, например SQLite или Postgresql. Это означает, что разработчику не нужно беспокоиться о написании кода, специфичного для используемой технологии базы данных, но он определяет модели и выполняет транзакции и запускает все виды запросов с помощью интерфейса базы данных Django. Flask делает то же самое.

Django не поддерживает MongoDB с самого начала. Для взаимодействия с базами данных, коллекциями и документами MongoDB с помощью Python можно использовать пакет PyMongo, который имеет другой синтаксис и парадигмы, чем модели Django или Flask.

MongoEngine обертывает PyMongo таким образом, чтобы предоставить базу данных, подобную Django, для MongoDB.

MongoEngine-Django пытается разрешить разработчикам веб-приложений Django использовать базу данных Mongo в качестве серверной части веб-приложения. Чтобы предоставить Django Admin, Users, Authentication и другие функции, связанные с базами данных, которые доступны в Django, как правило, с серверной частью SQL.

MongoEngine-Flash пытается разрешить разработчикам веб-приложений Flask использовать базу данных Mongo в качестве серверной части веб-приложения.

Лично я предпочитаю использовать структурированную базу данных SQL для основных компонентов веб-приложения и PyMongo или MongoEngine для взаимодействия с любыми другими базами данных Mongo, где могут находиться неструктурированные большие данные...

flask-mongoengine добавляет несколько помощников для интеграции MongoEngine в приложение Flask.

  • Определение соединения в параметрах Flask
  • get_or_404 / first_or_404 ярлыки (отмена 404, если документ не найден)
  • paginator добавлен в объект QuerySet
  • автоматическая генерация форм с использованием WTForms

django поддержка была снята Mongoengine в отдельный код (django-mongoengine). Хотя у него нет релиза, похоже, над ним (см. Последние коммиты).

Другие вопросы по тегам