with_custom_email_field.py 731 B

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