Advertisement
Guest User

Untitled

a guest
May 27th, 2021
19
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.74 KB | None | 0 0
  1. from django.contrib.auth.models import PermissionsMixin, AbstractBaseUser, BaseUserManager
  2. from django.db import models
  3.  
  4.  
  5. class CustomAccountManager(BaseUserManager):
  6. def create_user(self, user_id, email, token):
  7. user = self.model(user_id=user_id, email=email, token=token)
  8. user.is_staff = False
  9. user.is_superuser = False
  10. user.save(using=self._db)
  11. return user
  12.  
  13. def create_superuser(self, user_id, email, token):
  14. user = self.model(user_id=user_id, email=email, token=token)
  15. user.is_active = True
  16. user.is_staff = True
  17. user.is_superuser = True
  18. user.save(using=self._db)
  19. return user
  20.  
  21. def get_by_natural_key(self, user_id):
  22. return self.get(user_id=user_id)
  23.  
  24.  
  25. class CustomUser(AbstractBaseUser, PermissionsMixin):
  26. user_id = models.PositiveIntegerField("Идентификатор пользователя", unique=True)
  27. email = models.EmailField("Почта пользователя")
  28. token = models.CharField("Токен пользователя", max_length=50)
  29. registered = models.DateTimeField("Дата регистрации", auto_now_add=True)
  30. updated = models.DateTimeField("Последнее обновление", auto_now_add=True)
  31. expiration = models.PositiveIntegerField("Истечение")
  32.  
  33. REQUIRED_FIELDS = ['token', 'email']
  34. USERNAME_FIELD = 'user_id'
  35.  
  36. objects = CustomAccountManager()
  37.  
  38. def get_short_name(self):
  39. return self.user_id
  40.  
  41. def natural_key(self):
  42. return self.user_id
  43.  
  44. def __str__(self):
  45. return self.user_id
  46.  
  47. class Meta:
  48. verbose_name = "Пользователь"
  49. verbose_name_plural = "Пользователи"
  50.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement