5

各ユーザーが独自のデータベースを持つ 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/を読みましたが、上記を行うために何が必要かわかりません。

4

0 に答える 0