各ユーザーが独自のデータベースを持つ Django アプリを作成したいと思います。ユーザーは引き続きマスター ユーザーから認証されますが、すべてのアプリ モデルはデータベースの独自のコピーから取得されます。
たとえば、次のようなものがあるとします。
DATABASES = {
'default': {
'NAME': 'sqlite3',
'ENGINE': 'default.db',
},
'user1': {
'NAME': 'sqlite3',
'ENGINE': 'user1.db',
}
'user2': {
'NAME': 'sqlite3',
'ENGINE': 'user2.db',
}
}
ここで、default.db にはユーザー (およびその他のアプリ以外のテーブル) があり、user1.db と user2.db にはアプリ固有のモデルがあります。
一部のユーザーが user1 を使用し、他のユーザーが user2 を使用できるようにするにはどうすればよいですか?
その場で DATABASES にさらにエントリを追加できますか? (問題があればwsgiを使用しています)
コードを変更するのではなく (たとえば、.using() を挿入して)、グローバルなデータベース ルーターを使用することをお勧めします。
https://docs.djangoproject.com/en/dev/topics/db/multi-db/を読みましたが、上記を行うために何が必要かわかりません。