Eu criei um modelo CustomUser e um Manager e o adicionei ao admin. Quando executo
python manage.py createsuperuser
Ele já me mostra o superusuário com os campos que eu criei e diz que o usuário foi criado com sucesso. Todavia, ao rodar o runserver
e ir à minha página de login e tentar logar com o usuário no sistema, não consigo logar.
Poderiam me ajudar? Olhei a aula de vocês sobre, mas não me ajudou.
On customuser/models.py
:
from future import unicode_literals from django.db import models from django.contrib.auth.models import AbstractUser from django.contrib.auth.models import AbstractBaseUser, BaseUserManager
class CustomUserManager(BaseUserManager): def create_user(self, username, email, first_name, last_name, cpf, password=None): user = self.model( username=username, email=email, first_name=first_name, last_name=last_name, cpf=cpf ) return user
def create_superuser(self, username, email, first_name, last_name, cpf, password): user = self.create_user(username, email, first_name, last_name, cpf, password=password) user.is_super_user = True user.save() return user
class CustomUser(AbstractUser):
SEXO_CHOICES = ( (u'Masculino', u'Masculino'), (u'Feminino', u'Feminino'), )
cpf = models.BigIntegerField(unique=True) phone = models.CharField(max_length=15, blank=True) is_super_user = models.BooleanField(default=False) data_de_nascimento = models.DateField(null=True) sexo = models.CharField(max_length=9, null=True, choices=SEXO_CHOICES)
USERNAME_FIELD = 'username' REQUIRED_FIELDS = ['email', 'first_name', 'last_name', 'cpf']
On settins.py
, I add the line:
INSTALLED_APPS = [ ... 'customuser', ]
...
AUTH_USER_MODEL = 'customuser.CustomUser'
And my customuser/admin.py
:
from django.contrib import admin
from models import CustomUser, CustomUserManager
admin.site.register(CustomUser)