Advertisement
Guest User

Untitled

a guest
Nov 16th, 2016
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.51 KB | None | 0 0
  1. from django.db import models
  2. from django.contrib.auth.base_user import AbstractBaseUser
  3. from django.contrib.auth.base_user import BaseUserManager
  4.  
  5. from core.models import TimeStampedModel
  6.  
  7.  
  8. class AccountManager(BaseUserManager):
  9. def create_user(self, username, email, fullname, password=None):
  10. user = self.model(
  11. email=self.normalize_email(email),
  12. username=username,
  13. fullname=fullname,
  14. )
  15. user.set_password(password)
  16. user.save(using=self._db)
  17. return user
  18.  
  19. def create_superuser(self, username, email, fullname, password=None):
  20. user = self.create_user(
  21. email=email,
  22. username=username,
  23. fullname=fullname,
  24. password=password,
  25. )
  26. user.is_admin = True
  27. user.save(using=self._db)
  28. return user
  29.  
  30.  
  31. class Account(TimeStampedModel, AbstractBaseUser):
  32. username = models.CharField(max_length=30, default="", unique=True)
  33. email = models.EmailField(max_length=255, default="", unique=True)
  34. fullname = models.CharField(max_length=150)
  35. is_admin = models.BooleanField(default=False)
  36. is_active = models.BooleanField(default=False)
  37.  
  38. objects = AccountManager()
  39.  
  40. USERNAME_FIELD = 'username'
  41. REQUIRED_FIELDS = ['email', 'fullname']
  42.  
  43. def __str__(self):
  44. return "username: " + self.user.username
  45.  
  46. @property
  47. def is_staff(self):
  48. "Is the user a member of staff?"
  49. # Simplest possible answer: All admins are staff
  50. return self.is_admin
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement