Как подключить Django 3.1 к MongoDB

#django #mongodb

#django #mongodb

Вопрос:

Я работаю с Django 3.1 edition. В качестве базы данных я выбираю любую базу данных NoSQL, такую как MongoDB. Я попробовал два способа подключения MongoDB к Django 3.1. Первый использует Djongo, а второй — движок Mongo. Но в обоих случаях я не могу работать с Django 3.1. В случае Django он не поддерживает Django 3.1, но переключает меня на Django 3.0.5, а в случае движка mongo он не поддерживает Django 3.1. Есть ли какой-либо третий способ подключения MongoDB к Django 3.1.Обратите внимание, что я должен использовать только Django 3.1

Это документы, которые я просматривал в движке Djongo и Mongo.

https://pypi.org/project/djongo/

https://django-mongodb-engine.readthedocs.io/en/latest/topics/setup.html

Комментарии:

1. Есть ли причина, по которой вы используете MongoDB со свежим проектом на платформе, разработанной для традиционных СУБД? Один из вариантов — использовать поддерживаемую БД, такую как Postgres, для вашей БД по умолчанию, а Mongo — в качестве дополнительного подключения к БД. Если вы ищете индексированный JSON в столбце, Postgres тоже это делает: лучший из всех миров.

2. На самом деле, я не руководитель проекта. Я рассказал, как найти способ подключения Django 3.1 к MongoDB. Мне будет очень полезно, если вы подскажете мне, как это сделать. (конечно, если есть какой-либо способ вообще …)

Ответ №1:

Вашим лучшим выбором будет Djongo:

https://github.com/nesdis/djongo/

Однако в master настоящее время ветка Djongo поддерживает версию до версии Django 3.0.5. Если вам действительно нужна поддержка Django 3.1:

Затем посмотрите, работает ли это, и что нужно исправить. Если вы что-то исправите в Djongo, вы можете отправлять запросы на извлечение в проект для поддержки 3.1.

Пожалуйста, обратите внимание, что это довольно рискованная зависимость для внедрения в проект. Вы будете заблокированы для использования версий Django, которые Djongo поддерживает в будущем, и не сможете обновляться, пока Djongo не сделает. Мне приходилось делать это в некоторых моих проектах со сторонней поддержкой SQL Server, и это может расстраивать. Я бы не рекомендовал это, если вам неудобно участвовать в проекте, на который вы полагаетесь, и вносить свой вклад. Тем не менее… удачи!