質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

1722閲覧

Djangoで作成した複数のアプリのユーザーの統合の仕方

Rikunosuke

総合スコア6

Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

1クリップ

投稿2019/07/28 16:25

編集2019/07/29 23:26

前提・実現したいこと

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()

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

Userアプリを新たに作り、Userモデルを作りました。各アプリにはUserInfモデルでそのアプリに必要なユーザー情報を管理できるようにしました。初起動時にそのアプリのUserInfoを作成することでユーザーに最低限の入力で済むようにしています。

投稿2019/08/29 09:49

Rikunosuke

総合スコア6

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問