5
6

More than 3 years have passed since last update.

カスタムUserモデルを作成した後にUserが上手く追加されない件

Posted at

起きたこと

なにが起きたかというと、

  1. AbstractUserモデルを継承してカスタムUserモデルを作成。
  2. adminにadmin.register.site(CustomUser)のように普通に登録
  3. admin管理画面から新しくUserを登録!
  4. 何故かパスワードが生で表示される。
  5. ログインできない!!!

という問題が発生しました。。
結論から申しますと2の操作が原因です。

ちなみにUserのカスタマイズについては以下の記事に詳しくあります。
okoppe8さんの記事

解決方法

UserAdminをadmin.site.register()の第2引数に登録してあげる。

admin.py
from django.contrib import admin

from . models import CustomUser
from django.contrib.auth.admin import UserAdmin
)


admin.site.register(CustomUser, UserAdmin)

元のコード

管理画面をカスタマイズするためにUserAdminを自作してしまい、CustomUserモデルのadminとして登録してしまっていました。
これだと、パスワードが上手くハッシュされずに登録され、認証時にエラーとなってしまいます。

admin.py
from django.contrib import admin

from . models import CustomUser


class UserAdmin(admin.ModelAdmin):
    list_display = ('username', 'id', )


admin.site.register(CustomUser, UserAdmin)


参考

Stuck Overflow
Created User from django custom admin page can't login

5
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
6