Мне нужно использовать несколько баз данных для моего проекта django. Приложение работает хорошо, когда есть только одна база данных:Укажите базу данных для использования в Django
В setting.py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'mydb',
'USER': 'root',
'PASSWORD': '',
'HOST': '127.0.0.1',
'PORT': 3306,
},
Но если я добавил несколько баз данных из одного двигателя:
DATABASES = {
'default':{},
'mydb1': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'mydb1',
'USER': 'root',
'PASSWORD': '',
'HOST': '127.0.0.1',
'PORT': 3306,
},
'mydb2': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'mydb2',
'USER': 'root',
'PASSWORD': '',
'HOST': '127.0.0.1',
'PORT': 3306,
}
}
это дает мне следующее сообщение об ошибке:
ImproperlyConfigured: settings.DATABASES is improperly configured. Please supply the ENGINE value. Check settings documentation for more details.
Кроме того, я попытался:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'mydb1',
'USER': 'root',
'PASSWORD': '',
'HOST': '127.0.0.1',
'PORT': 3306,
},
'mydb2': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'mydb2',
'USER': 'root',
'PASSWORD': '',
'HOST': '127.0.0.1',
'PORT': 3306,
}
}
Он видит только mydb1, не mydb2, когда я пытался mydb2 запрос, он дает мне:
DoesNotExist: Site matching query does not exist.
мне нужно определить маршрут базы данных? кажется, что мне нужно только сделать это для настройки чтения/записи.
Благодаря
UPDATE:
В Джанго документации, он говорит: «схема маршрутизации по умолчанию гарантирует, что, если база данных не указано, все запросы попадают обратно в базу данных по умолчанию».
Итак, я думаю, что мой фактический вопрос: Как указать базу данных для моих запросов?
Второй пример Джанго Документов для нескольких баз данных остались пустыми: https://docs.djangoproject.com/en/1.5/topics/db/multi-db/ – zyenge
@zyenge да, вы правильно, фиксированными мой ответ – alko
Я могу указать базу данных для обновления, когда syncdb --databases = mydb2, но как я могу указать базу данных при доступе к данным? Это сделано в model.py? – zyenge