1. from django.contrib.auth.base_user import AbstractBaseUser
    
  2. from django.contrib.auth.models import BaseUserManager
    
  3. from django.db import models
    
  4. 
    
  5. 
    
  6. class CustomEmailFieldUserManager(BaseUserManager):
    
  7.     def create_user(self, username, password, email):
    
  8.         user = self.model(username=username)
    
  9.         user.set_password(password)
    
  10.         user.email_address = email
    
  11.         user.save(using=self._db)
    
  12.         return user
    
  13. 
    
  14. 
    
  15. class CustomEmailField(AbstractBaseUser):
    
  16.     username = models.CharField(max_length=255)
    
  17.     password = models.CharField(max_length=255)
    
  18.     email_address = models.EmailField(null=True)
    
  19.     is_active = models.BooleanField(default=True)
    
  20. 
    
  21.     EMAIL_FIELD = "email_address"
    
  22.     USERNAME_FIELD = "username"
    
  23. 
    
  24.     objects = CustomEmailFieldUserManager()