私はdjangoでSaaSアプリケーションのバックエンドを書いています。アーキテクチャに関するいくつかのガイダンスが必要です。 したがって、製品には2つの製品が含まれます:すべてのユーザーが同じデータベースを共有する一般的な製品と専用のデータベースを持つプレミアム製品です。これをdjangoに変換する方法は次のとおりです:djangoでのSaaS製品のバックエンドアーキテクチャ
- djangoプロジェクト内では、一般用のアプリケーションが1つあります。
- プレミアムクライアントごとに別々のアプリがあります。
- 各アプリは同じモデルです。
- すべてのアプリケーションは、別々のデータベースと通信します。これを実現するには、stackoverflow postとdjango documentation
- 私はすべてのAPIのビューをプロジェクトのviews.pyに書き込みます。アプリ内ではなく、アプリケーションのモデルと通信するトークンの基礎を決定します。私は、このアーキテクチャで、今見
問題:ビューのすべてにおいて
- 、私はプレミアムクライアントの数が増加し、一度条件文の多くを記述する必要があります。
- 新しいプレミアムクライアントのオンボーディングには、かなりのコード変更が必要です。
- すべての異なるアプリケーションのmodels.pyのコードの重複。しかし、それは、プレミアムクライアントがサインアップするたびに、新しいデータベースにテーブルを作成するための文を書くこととほぼ同じです。コメント?
アーキテクチャー全体についてアドバイスしてください。私は多くの記事を読んで、このように行く前にオーバーフローポストを積み重ねましたが、どれも完全にジャンゴに特有なものではありませんでしたので、私は100%自信がありません。事前に多くの感謝。