Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # -*- coding: utf-8 -*-
- from django.db import models
- from django.contrib.auth.models import BaseUserManager, AbstractBaseUser
- class MfUserManager(BaseUserManager):
- def create_user(self, username, vk_user_id, first_name, last_name, password=None):
- if not username:
- raise ValueError('User must have an username')
- user = self.model(
- username = username,
- first_name = first_name,
- last_name = last_name,
- vk_user_id = vk_user_id
- )
- user.set_password(password)
- user.save(using=self._db)
- return user
- def create_superuser(self, username, first_name, last_name, password, vk_user_id=0):
- user = self.create_user(
- username = username,
- vk_user_id = vk_user_id,
- first_name = first_name,
- last_name = last_name,
- password = password
- )
- user.is_admin = True
- user.save(self._db)
- return user
- class MfUser(AbstractBaseUser):
- username = models.CharField(max_length=20, unique=True)
- vk_user_id = models.IntegerField(blank=True)
- first_name = models.CharField(max_length=30)
- last_name = models.CharField(max_length=30)
- is_admin = models.BooleanField(default=False)
- objects = MfUserManager()
- USERNAME_FIELD = 'username'
- REQUIRED_FIELDS = ['first_name', 'last_name']
- def get_full_name(self):
- return '%s %s' % (self.first_name, self.last_name)
- def get_short_name(self):
- return self.first_name
- def __str__(self):
- return '%s %s' % (self.first_name, self.last_name)
- @property
- def is_staff(self):
- return self.is_admin
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement