Guest User

Untitled

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