Как использовать Postgres и MongoDB одновременно в Django?
Я ищу решение для работы с Postgres и MongoDB одновременно в моем Django проекте.
У меня есть большие данные, которые я хотел бы хранить в MongoDB и Postgres для управления пользователями, выставления счетов и других вещей для управления.
Я пытался использовать библиотеку pip install django
, которая устарела, и не смог найти никакого решения. Пожалуйста, помогите мне найти подлинное решение! Спасибо
Прежде всего, для установки более новой версии Django вы можете использовать pip install Django==<version>
, но вам нужно посмотреть совместимость с версией Python, которую вы используете в вашей системе и виртуальной среде.
Например, для Python 3.x я использую немного более старую версию Django 2.2.21
.
Во-вторых, Django не поддерживает MongoDB нативно, но команда MongoDB
сама предоставляет библиотеку под названием pymongo
, которую вы можете установить, но с pymongo
вам придется писать больше нативных mongodb
запросов. У них нет никакой Django ORM.
Но есть еще одна библиотека под названием mongoengine
, которая фактически построена поверх pymongo
и является очень удобной и близкой к ORM, которую Django предоставляет для реляционных баз данных.
В-третьих, о Postgres
Вы можете легко установить любую реляционную базу данных с Django, поскольку он обеспечивает встроенную поддержку реляционных баз данных. Обе базы данных полностью независимы друг от друга, поэтому не должно возникнуть никаких проблем с настройкой.
Я сам использую Postgres
и MongoDB
вместе в своих проектах, и никогда не сталкивался ни с одной проблемой. Хотя, иногда немного сложно создавать вещи для NoSQL баз данных в Django, которые Django уже предоставляет для реляционных баз данных, но да, немного дополнительного кода в виде переопределения базовых классов Django для обеспечения поддержки mongodb
всегда работает.