У меня есть сайт, который имеет около 7 дБ (специфичные для страны экземпляры сайта), и у меня есть много повторений в настройках DATABASES в настройках, поскольку на самом деле единственное, что меняется, - это ключ DATABASE для каждой записи.
Итак, я хотел динамически выстроить диктат в настройках. Мой код работает нормально и создает тот же dict, который я вводил ранее, но по какой-то причине я получаю эту ошибку при попытке запустить его:
_mysql_exceptions.OperationalError: (1046, 'No database selected')
Вот код, который я использую в настройках для создания слова:
DATABASES = {}
for d in DBS:
#SITE_INSTANCE, e.g. 'dev' and DBS is a list of db names
name = '%s_%s' % (SITE_INSTANCE, d)
if not DATABASES: #first item - set up 'default'
d = 'default'
DATABASES[d] = {}
DATABASES[d]['name'] = name
DATABASES[d]['ENGINE'] = DB_ENGINE
DATABASES[d]['USER'] = DB_USERNAME
DATABASES[d]['PASSWORD'] = DB_PASSWORD
Как я уже сказал, сгенерированный диктат неотличим от того, который я вводил вручную. Я не понимаю, почему это не сработает.