I created a custom user model and I can create new superuser with manage.py but when I login to admin panel, I can't add new user (although is_superuser
column is true in database).
This is my models.py:
class MyUser(AbstractUser):
email = models.EmailField(unique=True)
department = models.ForeignKey(to=Department, on_delete=models.CASCADE, null=True)
USERNAME_FIELD = 'email'
REQUIRED_FIELDS = ['username', 'password']
I also tried with custom UserManager but still not working:
class MyUserManager(UserManager):
def create_superuser(self, username, email=None, password=None, **extra_fields):
extra_fields.setdefault('is_staff', True)
extra_fields.setdefault('is_superuser', True)
u = self._create_user(username, email, password, **extra_fields)
u.save()
return u
class MyUser(AbstractUser):
email = models.EmailField(unique=True)
department = models.ForeignKey(to=Department, on_delete=models.CASCADE, null=True)
USERNAME_FIELD = 'email'
REQUIRED_FIELDS = ['username', 'password']
objects = MyUserManager()
Here is my admin panel screenshot: screenshot