UPDATE AUTH
This commit is contained in:
+21
-3
@@ -1,19 +1,37 @@
|
||||
from django.contrib.auth.models import AbstractUser
|
||||
from django.contrib.auth.models import UserManager as BaseUserManager
|
||||
from django.db.models import Q
|
||||
from django.db import models
|
||||
|
||||
|
||||
class CustomUserManager(BaseUserManager):
|
||||
"""Manager that allows lookup by username, email, or phone_number."""
|
||||
|
||||
def get_by_natural_key(self, username):
|
||||
return self.get(
|
||||
Q(username=username) | Q(email=username) | Q(phone_number=username)
|
||||
)
|
||||
|
||||
|
||||
class User(AbstractUser):
|
||||
phone_number = models.CharField(
|
||||
max_length=32,
|
||||
unique=True,
|
||||
db_index=True,
|
||||
)
|
||||
email = models.EmailField(
|
||||
"email address",
|
||||
unique=True,
|
||||
db_index=True,
|
||||
)
|
||||
|
||||
USERNAME_FIELD = "phone_number"
|
||||
REQUIRED_FIELDS = ["username"]
|
||||
USERNAME_FIELD = "username"
|
||||
REQUIRED_FIELDS = ["email", "phone_number"]
|
||||
|
||||
objects = CustomUserManager()
|
||||
|
||||
class Meta:
|
||||
db_table = "users"
|
||||
|
||||
def __str__(self):
|
||||
return self.phone_number
|
||||
return self.username
|
||||
|
||||
Reference in New Issue
Block a user