1. from django.contrib.auth.base_user import AbstractBaseUser, BaseUserManager
    
  2. from django.db import models
    
  3. 
    
  4. 
    
  5. class UserManager(BaseUserManager):
    
  6.     def _create_user(self, username, **extra_fields):
    
  7.         user = self.model(username=username, **extra_fields)
    
  8.         user.save(using=self._db)
    
  9.         return user
    
  10. 
    
  11.     def create_superuser(self, username=None, **extra_fields):
    
  12.         return self._create_user(username, **extra_fields)
    
  13. 
    
  14. 
    
  15. class NoPasswordUser(AbstractBaseUser):
    
  16.     password = None
    
  17.     last_login = None
    
  18.     username = models.CharField(max_length=50, unique=True)
    
  19. 
    
  20.     USERNAME_FIELD = "username"
    
  21.     objects = UserManager()