from django.db import models from django.contrib.auth.models import AbstractUser from django.utils.translation import ugettext_lazy as _ from .managers import UserManager class User(AbstractUser): """ Holds information related to an user. """ REQUIRED_FIELDS = [] USERNAME_FIELD = 'email' objects = UserManager() name = models.CharField(_(u'Name'), max_length=100, blank=True) email = models.EmailField(verbose_name=_(u'Email'), max_length=255, unique=True, error_messages={'unique': _('This email already exists')}) age = models.PositiveSmallIntegerField(_('Age'), default=None, ) is_superuser = models.BooleanField( _('This user is superuser?'), default=False) is_staff = models.BooleanField( _('This user can see the admin panel?'), default=False) is_active = models.BooleanField(_('Is Active'), default=False)