Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from django.contrib.auth.models import AbstractBaseUser, BaseUserManager
- from django.db import models
- class AccountManager(BaseUserManager):
- def create_user(self, email, password=None, **kwargs):
- if not email:
- raise ValueError('User must have a valid email address.')
- if not kwargs.get('username'):
- raise ValueError('User must have a valid username.')
- user = self.model(
- email=self.normalize_email(email),
- username=kwargs.get('username')
- )
- user.set_password(password)
- user.save()
- return user
- def create_superuser(self, email, password, **kwargs):
- user = self.create_user(email, password, **kwargs)
- user.is_admin = True
- user.save()
- return user
- class Account(AbstractBaseUser):
- email = models.EmailField(unique=True)
- username = models.CharField(max_length=40, unique=True)
- first_name = models.CharField(max_length=40, blank=True)
- last_name = models.CharField(max_length=40, blank=True)
- status = models.CharField(max_length=100, blank=True)
- is_admin = models.BooleanField(default=False)
- created_at = models.DateTimeField(auto_now_add=True)
- updated_at = models.DateTimeField(auto_now=True)
- objects = AccountManager()
- USERNAME_FIELD = 'email'
- REQUIRED_FIELDS = ['username']
- def __unicode__(self):
- return self.email
- def get_full_name(self):
- return '%s %s' % (self.last_name, self.first_name)
- def get_short_name(self):
- return self.first_name
Add Comment
Please, Sign In to add comment