django Userモデルをカスタマイズして複数のユーザーモデルを作りたいですが、

392 views
Skip to first unread message

윤민영

unread,
Jul 11, 2019, 4:06:06 AM7/11/19
to django-ja

こんにちは、
AbstractBaseUserを継承してカスタムユーザーモデルを作りたいですが、
そのモデルを2種類作りたいです。
例えば、企業会員モテると個人会員モデルその2種類のユーザーモデルを使用したいですが、

1つ目の質問ですが、

models.pyに

class SupplierUser(AbstractBaseUser)と
class BuyerUser(AbstractBaseUser)を設定して

settings.pyに
AUTH_USER_MODEL = 'accounts.SupplierUser', 'accounts.BuyUser'を設定したら

AssertionError: ForeignKey(('accounts.SupplierUser', 'accounts.BuyUser')) is invalid. First parameter to ForeignKey must be either a model, a model name, or the string 'self' っていうエラーが発生しました。

この場合、どう解決すればいいでしょうか?


2つ目の質問ですが、

カスタムユーザーを使用する時のログイン、ログアウトの設定方法につして教えていただけると嬉しいです。

どうぞよろしくお願いいたします。

MURAOKA Yusuke

unread,
Jul 12, 2019, 1:19:00 PM7/12/19
to djan...@googlegroups.com
こんにちは。

AUTH_USER_MODELには一つしかユーザモデルを登録できません。
おそらくやりたいことは認証済みユーザにサプライヤとバイヤの役割を付与するようにすればいいかと思います。

BaseUser # <= AUTH_USER_MODELに追加するやつ
SupplierProfile # BaseUserとOneToOneなリレーションもたせる
BuyerProfile # BaseUserとOneToOneなリレーションをもたせる

2つめの質問ですが、認証のしかたを変えないのであれば、カスタムユーザモデルでもデフォルトのユーザモデルと同じようにそのまま使えます。
認証のしくみを変えるなら、変えたいやりかたによってアドオンを有効にしたり、認証バックエンドを作ってください。

2019年7月11日(木) 17:06 윤민영 <kate...@gmail.com>:
> --
> ----------------- http://djangoproject.jp/ -----------------
> You received this message because you are subscribed to the Google Groups "django-ja" group.
> To post to this group, send email to djan...@googlegroups.com
> To unsubscribe from this group, send email to django-ja-...@googlegroups.com
> For more options, visit this group at http://groups.google.com/group/django-ja
> ---
> このメールは Google グループのグループ「django-ja」に登録しているユーザーに送られています。
> このグループから退会し、グループからのメールの配信を停止するには django-ja+...@googlegroups.com にメールを送信してください。
> このディスカッションをウェブ上で閲覧するには https://groups.google.com/d/msgid/django-ja/6e73f2cc-a07c-4d7a-bae2-d1c4fc2e452c%40googlegroups.com にアクセスしてください。
> その他のオプションについては https://groups.google.com/d/optout にアクセスしてください。

Jun Tanaka

unread,
Jul 29, 2019, 12:59:21 PM7/29/19
to djan...@googlegroups.com
こんにちは、

django 管理画面のgroup機能はご存知でしょうか?
アプリの内容を教えていただけたらと思いますが、
通常、企業会員グループと個人会員グループを使って管理します。
ご参考になれば、

--
----------------- http://djangoproject.jp/ -----------------
You received this message because you are subscribed to the Google Groups "django-ja" group.
To post to this group, send email to djan...@googlegroups.com
To unsubscribe from this group, send email to django-ja-...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/django-ja
---
このメールは Google グループのグループ「django-ja」に登録しているユーザーに送られています。
このグループから退会し、グループからのメールの配信を停止するには django-ja+...@googlegroups.com にメールを送信してください。
このディスカッションをウェブ上で閲覧するには https://groups.google.com/d/msgid/django-ja/6e73f2cc-a07c-4d7a-bae2-d1c4fc2e452c%40googlegroups.com にアクセスしてください。
その他のオプションについては https://groups.google.com/d/optout にアクセスしてください。


--
ーーーーーーーーーーーーーーーーーーーーーー
ShannonLab株式会社
代表取締役 田中 潤
〒165-0026
 西部信用金庫新井薬師ビル 503
tel:042-644-0013(優先)
     03-5942-8679(中野開発室)
fax:042-644-0447


☆★☆ 光文社 電子書籍  週間ダウンロードランキング(2/26 3/4)一位
最新著書:『誤解だらけの人工知能 ディープラーニングの限界と可能性』
https://www.amazon.co.jp/dp/4334043380
ーーーーーーーーーーーーーーーーーーーーーーー
Reply all
Reply to author
Forward
0 new messages