diff --git a/{{cookiecutter.repo_name}}/{{cookiecutter.repo_name}}/users/admin.py b/{{cookiecutter.repo_name}}/{{cookiecutter.repo_name}}/users/admin.py index 80e8e792f..fd1cb460e 100644 --- a/{{cookiecutter.repo_name}}/{{cookiecutter.repo_name}}/users/admin.py +++ b/{{cookiecutter.repo_name}}/{{cookiecutter.repo_name}}/users/admin.py @@ -1,13 +1,27 @@ # -*- coding: utf-8 -*- from django.contrib import admin +from django import forms from django.contrib.auth.forms import UserCreationForm, UserChangeForm from django.contrib.auth.admin import UserAdmin as AuthUserAdmin from .models import User +class MyUserCreationForm(UserCreationForm): + def clean_username(self): + username = self.cleaned_data["username"] + try: + User._default_manager.get(username=username) + except User.DoesNotExist: + return username + raise forms.ValidationError(self.error_messages['duplicate_username']) + + class Meta(UserCreationForm.Meta): + model = User + + class UserAdmin(AuthUserAdmin): - create_form_class = UserCreationForm + add_form = MyUserCreationForm update_form_class = UserChangeForm