前提・実現したいこと
Djangoで作成した複数のアプリのユーザーの統合方法
いちどサインアップすると、複数のアプリをサインアップすることなく使えるような統合的なサイトを作りたいです。
発生している問題
最近DjangoでWebアプリの制作を始めたばかりの素人です。
現在、Djangoで複数のアプリを制作したのですが、それぞれのアプリで制作したUserモデルを一つに統合したいと考えています。その時、2つの方法を思いつきました。
1.
1つのUserモデルにすべてのアプリに必要なフィールドを作成する。
2.
共通項目のみ親Userモデルにフィールドを作成し、残りはアプリごとのUserモデルを子Userモデルとして紐づける(説明が下手ですみません)
2の方法は、ユーザーが使ったいないアプリごとにactiveを無効にできたり、いろいろとメリットがあるような気がしています。
まず、2の方法は可能なのでしょうか。
そして、どちらの方法を採用すべきなのでしょうか。
また、他にベストな方法があれば教えていただければありがたいです。
例
適当なのでここでのコードのミスの指摘はしていただかなくて大丈夫です。
1の方法のイメージ
python
1class User(AbstractUser): 2 username = models.CharField() 3 email = models.CharField() 4 favolist = models.Foreignkey() 5 aiueo = models.ForeignKey() 6
2の方法
python
1class User(AbstractUser): 2 username=models.CHarField() 3 email = mdoels.CharField() 4 favoappUser = models.OneToOneField(FavoUser) 5 aiueoappUser = models.OneToOneField(aiueoUser) 6 7class favoUser(AbstractUser): 8 favolist = models.ForeignKey() 9 10class aiueoUser(abstractUser): 11 aiueoUser = models.ForeignKey()
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。