models.py 1.0 KB

123456789101112131415161718192021222324
  1. from django.db import models
  2. from django.contrib.auth.models import AbstractBaseUser, PermissionsMixin
  3. from django.utils.translation import ugettext_lazy as _
  4. from .managers import UserManager
  5. class User(AbstractBaseUser, PermissionsMixin):
  6. """
  7. Holds information related to an user.
  8. """
  9. REQUIRED_FIELDS = []
  10. USERNAME_FIELD = 'email'
  11. objects = UserManager()
  12. name = models.CharField(_(u'Name'), max_length=100, help_text='Your name here',
  13. unique=False)
  14. email = models.EmailField(verbose_name=_(u'Email'),
  15. max_length=255, unique=True,
  16. help_text='Unique field',
  17. error_messages={'unique': _('This email already exists')})
  18. age = models.PositiveSmallIntegerField(_('Age'), help_text='Allow only positive integers')
  19. is_staff = models.BooleanField(
  20. _('This user can see the admin panel?'), default=False)
  21. is_active = models.BooleanField(_('Is Active'), default=False)