1. from django.contrib.auth.backends import ModelBackend
    
  2. 
    
  3. from .models import CustomUser
    
  4. 
    
  5. 
    
  6. class CustomUserBackend(ModelBackend):
    
  7.     def authenticate(self, request, username=None, password=None):
    
  8.         try:
    
  9.             user = CustomUser.custom_objects.get_by_natural_key(username)
    
  10.             if user.check_password(password):
    
  11.                 return user
    
  12.         except CustomUser.DoesNotExist:
    
  13.             return None
    
  14. 
    
  15.     def get_user(self, user_id):
    
  16.         try:
    
  17.             return CustomUser.custom_objects.get(pk=user_id)
    
  18.         except CustomUser.DoesNotExist:
    
  19.             return None