2
0

with_unique_constraint.py 686 B

12345678910111213141516171819202122
  1. from django.contrib.auth.models import AbstractBaseUser, BaseUserManager
  2. from django.db import models
  3. class CustomUserWithUniqueConstraintManager(BaseUserManager):
  4. def create_superuser(self, username, password):
  5. user = self.model(username=username)
  6. user.set_password(password)
  7. user.save(using=self._db)
  8. return user
  9. class CustomUserWithUniqueConstraint(AbstractBaseUser):
  10. username = models.CharField(max_length=150)
  11. objects = CustomUserWithUniqueConstraintManager()
  12. USERNAME_FIELD = "username"
  13. class Meta:
  14. constraints = [
  15. models.UniqueConstraint(fields=["username"], name="unique_custom_username"),
  16. ]