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です)。