I've been following the Django for Professionals book and I'm trying to add a user via the admin. Going to the add URL I get
FieldError at /admin/accounts/customuser/add/
Unknown field(s) (usable_password) specified for CustomUser. Check fields/fieldsets/exclude attributes of class CustomUserAdmin.
I'm unsure what to tinker with here. There is also django-allauth involved at this point, so I think if I just throw in some random exclude I might break that library.
# forms.py
from django.contrib.auth import get_user_model
from django.contrib.auth.forms import UserCreationForm, UserChangeForm
class CustomUserCreationForm(UserCreationForm):
class Meta:
model = get_user_model()
fields = (
"email",
"username",
)
class CustomUserChangeForm(UserChangeForm):
class Meta:
model = get_user_model()
fields = (
"email",
"username",
)
# admin.py
from django.contrib import admin
from django.contrib.auth import get_user_model
from django.contrib.auth.admin import UserAdmin
from .forms import CustomUserCreationForm, CustomUserChangeForm
CustomUser = get_user_model()
class CustomUserAdmin(UserAdmin):
add_form = CustomUserCreationForm
form = CustomUserChangeForm
model = CustomUser
list_display = [
"email",
"username",
"is_superuser",
]
admin.site.register(CustomUser, CustomUserAdmin)
# models.py
from django.contrib.auth.models import AbstractUser
class CustomUser(AbstractUser):
pass
#settings.py
AUTH_USER_MODEL = "accounts.CustomUser"