MySQL 的示例数据库配置:
DATABASES = {
'auth_db': {
'NAME': 'auth_db',
'ENGINE': 'django.db.backends.mysql',
'USER': 'mysql_user',
'PASSWORD': 'swordfish',
},
'master': {
'NAME': 'master',
'ENGINE': 'django.db.backends.mysql',
'USER': 'mysql_user',
'PASSWORD': 'spam',
},
'slave1': {
'NAME': 'slave1',
'ENGINE': 'django.db.backends.mysql',
'USER': 'mysql_user',
'PASSWORD': 'eggs',
},
'slave2': {
'NAME': 'slave2',
'ENGINE': 'django.db.backends.mysql',
'USER': 'mysql_user',
'PASSWORD': 'bacon',
},
}
Django 最初是否会连接到所有这些数据库,即使某些数据库根本没有使用?例如。
对多个数据库使用原始游标
如果您使用多个数据库,您可以使用 django.db.connections 来获取特定数据库的连接(和游标)。django.db.connections 是一个类字典对象,允许您使用其别名检索特定连接:
从 django.db 导入连接
游标 = 连接['my_db_alias'].cursor()
所以在这里,1.连接对象包含已经建立的连接?还是在请求游标时连接?2. 有没有办法改变这种默认行为并按需建立连接,(所有查询都是原始查询,所有数据库都是 MySQL)?