Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from django.db import models
- from django.contrib.auth.base_user import AbstractBaseUser
- from django.contrib.auth.base_user import BaseUserManager
- from core.models import TimeStampedModel
- class AccountManager(BaseUserManager):
- def create_user(self, username, email, fullname, password=None):
- user = self.model(
- email=self.normalize_email(email),
- username=username,
- fullname=fullname,
- )
- user.set_password(password)
- user.save(using=self._db)
- return user
- def create_superuser(self, username, email, fullname, password=None):
- user = self.create_user(
- email=email,
- username=username,
- fullname=fullname,
- password=password,
- )
- user.is_admin = True
- user.save(using=self._db)
- return user
- class Account(TimeStampedModel, AbstractBaseUser):
- username = models.CharField(max_length=30, default="", unique=True)
- email = models.EmailField(max_length=255, default="", unique=True)
- fullname = models.CharField(max_length=150)
- is_admin = models.BooleanField(default=False)
- is_active = models.BooleanField(default=False)
- objects = AccountManager()
- USERNAME_FIELD = 'username'
- REQUIRED_FIELDS = ['email', 'fullname']
- def __str__(self):
- return "username: " + self.user.username
- @property
- def is_staff(self):
- "Is the user a member of staff?"
- # Simplest possible answer: All admins are staff
- return self.is_admin
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement