Разница между 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
). Хотя у него нет релиза, похоже, над ним (см. Последние коммиты).