Автоматическое заполнение имени пользователя при добавлении пользователя в Admin
Я использую django-allauth
со следующими настройками:
ACCOUNT_EMAIL_REQUIRED = True
ACCOUNT_USERNAME_REQUIRED = False
ACCOUNT_SESSION_REMEMBER = True
ACCOUNT_AUTHENTICATION_METHOD = 'email'
ACCOUNT_UNIQUE_EMAIL = True
Когда новый пользователь регистрируется, username
заполняется автоматически на основе адреса электронной почты пользователя. Однако этого не происходит, когда я добавляю пользователя с помощью Admin. Как мне это сделать?
Вот соответствующий код, который у меня есть на данный момент:
class CustomUser(AbstractUser):
USERNAME_FIELD = 'email'
REQUIRED_FIELDS = ['first_name']
def __str__(self):
return self.username if self.username else self.email
# https://stackoverflow.com/a/15603839/2725810
CustomUser._meta.get_field('email')._unique = True
class CustomUserAdmin(UserAdmin):
model = CustomUser
# Adding to Add User form first_name and email, removing username
add_fieldsets = \
(
(
(None, {'fields': ('first_name', 'email')}),
)
) + \
(
(
(None, {'fields':
UserAdmin.add_fieldsets[0][1]['fields'][1:]}),
)
)
list_display = ['first_name', 'email']
save_as = True
admin.site.register(CustomUser, CustomUserAdmin)