要件: Django アプリケーションの 1 つのインスタンスが複数のクライアントにサービスを提供できるようにします。クライアントとは、互いのデータにアクセスすることが想定されていない異なるドメインまたは異なるアカウントを意味します。
クライアントの推定数は、約数百です。
たくさんあると思いますが、長期的には労力を最小限に抑えるものを探しています。それらのうちの2つは次のとおりです。
- 1 つは、Djangoのサイト フレームワーク
site_id
と 1 つのデータベースを使用し、ほとんどのモデルに を追加することです (恐ろしく聞こえます) 。 - 認証モジュールとサイト モジュールに 1 つのデータベースを使用し、複数データベース機能を使用してクライアント固有のモデル データを別のデータベースに保持します。新しいクライアントのために動的なデータベース作成を実装する必要があり、さらに悪いことに、アプリケーションをアップグレードするときにデータベースの移行を処理する方法がわからないため、これも私を怖がらせます。
これにはどのようなアプローチが推奨されますか?