Я пытаюсь использовать несколько баз данных с моим проектом Django, но он только распознает значение по умолчанию. В моем файле settings.py У меня есть следующий набор:Django Не распознает несколько баз данных
DATABASES = {
"default": {
"ENGINE": "django.db.backends.mysql",
"NAME": "primary",
"USER": "admin",
"PASSWORD": "password",
"HOST": "",
"PORT": "",
},
"deals": {
"ENGINE": 'django_mongodb_engine',
"NAME": "database",
"HOST": "HOSTNAME",
"PORT": "27017",
"USER": "",
"PASSWORD": "",
"SUPPORTS_TRANSACTIONS": False,
},
}
Но когда я пытаюсь запустить
python manage.py syncdb --database=deals
или
python manage.py inspectdb --database=deals
Я получаю следующее сообщение об ошибке:
django.db.utils.ConnectionDoesNotExist: The connection deals doesn't exist
Когда я пытаюсь отладить в /lib/python2.7 /site-packages/django/db/utils.py Я вижу, что распознается только база данных по умолчанию. Я получаю ту же ошибку, когда пытаюсь создать вторую локальную базу данных.
EDIT Я обновил файл settings.py в соответствии с комментариями, но все еще имею ту же проблему.
Документация https://docs.djangoproject.com/ru/1.8/ref/settings/#engine говорит, что вы должны использовать полностью квалифицированный путь. Тот, для «сделок», не полностью квалифицирован. Тот, который для 'default' является неполным. – ElmoVanKielmo
Я внес некоторые изменения в соответствии с комментарием, но по-прежнему имею ту же проблему. Я исправил базу данных по умолчанию, но не могу найти полный путь для mongodb, как документацию MongoDB (https://django-mongodb-engine.readthedocs.org/en/latest/reference/settings.html) говорит использовать django_mongodb_engine – user2694306