【发布时间】:2011-02-25 21:31:29
【问题描述】:
我有一个大约有 7 个数据库的站点(该站点的国家特定实例),并且我在设置中的 DATABASES dict 中有很多重复,因为实际上唯一改变的是每个条目的 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
正如我所说,生成的字典与我手动输入的字典没有区别。我不明白为什么这不起作用。
【问题讨论】: