В начале, он не будет работать для любого существующего приложения Django, которое поставляет свои модели. В настоящее время нет никакого бэкэнда для хранения данных модели Django в mongodb или других хранилищах NoSQL , и, если не считать бэкэндов базы данных, сами модели являются чем-то спорным, потому что, как только вы приступите к использованию приложения someones (* 1003) * приложения в комплекте), которые поставляют триады моделей-представлений-шаблонов, когда вам требуется немного другая модель для ваших целей, вы должны либо отредактировать код приложения (просто неправильно), либо динамически редактировать содержимое импортированных модулей Python во время выполнения (магическое), разветвить исходный код приложения (громоздко) или предоставить дополнительные настройки (хорошо, но это редкий случай, когда django.contrib.auth
, вероятно, является единственным широко известным примером приложения, которое позволяет вам динамически указывать, какую модель он будет использовать, как и случай с моделями профиля пользователя через настройку AUTH_PROFILE_MODULE
).
Это может звучать плохо, но на самом деле это означает, что вам придется развертывать базы данных SQL и NoSQL параллельно и переходить от приложения к приложению - как предложил Spacedman - и если mongodb - лучший подходит для определенного приложения, черт возьми, просто сверните свое собственное приложение.
Есть много прекрасных джангонавтов с хранилищами NoSQL. Если вы следили за потоками из прошлых презентаций Djangocon, каждый год шли важные дискуссии о том, как Django должен использовать хранилища NoSQL. Я почти уверен, что в этом или следующем году кто-то проведет рефакторинг API приложений и моделей, чтобы проложить путь к чистому дизайну, который в конечном итоге может объединить все различные варианты хранилищ NoSQL как часть ядра Django.