Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from django.contrib.auth.models import PermissionsMixin, AbstractBaseUser, BaseUserManager
- from django.db import models
- class CustomAccountManager(BaseUserManager):
- def create_user(self, user_id, email, token):
- user = self.model(user_id=user_id, email=email, token=token)
- user.is_staff = False
- user.is_superuser = False
- user.save(using=self._db)
- return user
- def create_superuser(self, user_id, email, token):
- user = self.model(user_id=user_id, email=email, token=token)
- user.is_active = True
- user.is_staff = True
- user.is_superuser = True
- user.save(using=self._db)
- return user
- def get_by_natural_key(self, user_id):
- return self.get(user_id=user_id)
- class CustomUser(AbstractBaseUser, PermissionsMixin):
- user_id = models.PositiveIntegerField("Идентификатор пользователя", unique=True)
- email = models.EmailField("Почта пользователя")
- token = models.CharField("Токен пользователя", max_length=50)
- registered = models.DateTimeField("Дата регистрации", auto_now_add=True)
- updated = models.DateTimeField("Последнее обновление", auto_now_add=True)
- expiration = models.PositiveIntegerField("Истечение")
- REQUIRED_FIELDS = ['token', 'email']
- USERNAME_FIELD = 'user_id'
- objects = CustomAccountManager()
- def get_short_name(self):
- return self.user_id
- def natural_key(self):
- return self.user_id
- def __str__(self):
- return self.user_id
- class Meta:
- verbose_name = "Пользователь"
- verbose_name_plural = "Пользователи"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement