Advertisement
DennisM

Untitled

Sep 3rd, 2016
227
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.55 KB | None | 0 0
  1. class CustomUserManager(BaseUserManager):
  2.     def create_user(self, email, password=None, **extra_fields):
  3.         if not email:
  4.             raise ValueError('Users must have a valid e-mail address')
  5.  
  6.         user = self.model(email=self.normalize_email(email),
  7.                           username=extra_fields.get('username'),
  8.                          )
  9.         user.set_password(password)
  10.         user.save(using=self._db)
  11.  
  12.         return user
  13.  
  14.     def create_superuser(self, email, password=None, **extra_fields):
  15.         user = self.create_user(email, password, **extra_fields)
  16.         user.is_admin = True
  17.         user.is_staff = True
  18.         user.save(using=self._db)
  19.  
  20.         return user
  21.  
  22.  
  23. class CustomUser(AbstractBaseUser):
  24.     username = models.CharField(max_length=50, null=True, blank=True, default='')
  25.     email = models.EmailField(unique=True)
  26.     is_admin = models.BooleanField(default=False)
  27.     is_staff = models.BooleanField(default=False)
  28.  
  29.     USERNAME_FIELD = 'email'
  30.  
  31.     objects = CustomUserManager()
  32.  
  33.     def __unicode__(self):
  34.         return self.email
  35.  
  36.     def has_perm(self, perm, obj=None):
  37.         return True
  38.  
  39.     def has_module_perms(self, app_label):
  40.         return True
  41.  
  42.     def get_full_name(self):
  43.         return self.email
  44.  
  45.     def get_short_name(self):
  46.         return self.email
  47.  
  48.  
  49. class Post(models.Model):
  50.     title = models.CharField(max_length=200)
  51.     text = models.TextField()
  52.     publisher = models.ForeignKey(CustomUser, related_name='posts')
  53.  
  54.     def __unicode__(self):
  55.         return self.title
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement