Трябва да използвам множество бази данни за моя 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.
Трябва ли да дефинирам маршрут на базата данни? изглежда, че трябва да направя това само за персонализирано четене/запис.
Благодаря
АКТУАЛИЗАЦИЯ:
В django docs се казва Схемата за маршрутизиране по подразбиране гарантира, че ако база данни не е посочена, всички заявки се връщат към базата данни по подразбиране.
Така че предполагам, че действителният ми въпрос е как да посоча база данни, която да използвам за моите заявки?