i have made a super user and registering other users. but only able to log in as superuser and when i try to login as normal user its shows "Invalid phone number or password".Can someone help me with this
models.py
class CustomUserManager(BaseUserManager): def create_user(self, phone_number, email=None, name=None, password=None, **extra_fields): if not phone_number: raise ValueError('The phone number must be set') email = self.normalize_email(email) if email else None user = self.model(phone_number=phone_number, name=name, email=email, **extra_fields) user.set_password(password) user.save(using=self._db) return user def create_superuser(self, phone_number, email=None, name=None, password=None, **extra_fields): extra_fields.setdefault('is_staff', True) extra_fields.setdefault('is_superuser', True) return self.create_user(phone_number, email, name, password, **extra_fields)class CustomUser(AbstractBaseUser, PermissionsMixin): phone_number = models.CharField(unique=True, max_length=20) name = models.CharField(max_length=150, default='') email = models.EmailField(unique=True, blank=True, null=True) is_active = models.BooleanField(default=True) is_superuser=models.BooleanField(default=False) is_staff = models.BooleanField(default=False) date_joined = models.DateTimeField(default=timezone.now) objects = CustomUserManager() USERNAME_FIELD = 'phone_number' EMAIL_FIELD = 'email' def __str__(self): return self.phone_number
views.py
@api_view(['POST'])def login_api(request): if request.method == 'POST': serializer = LoginSerializer(data=request.data) if serializer.is_valid(): phone_number = serializer.validated_data.get('phone_number') password = serializer.validated_data.get('password') user = authenticate(request, phone_number=phone_number, password=password) if user is not None: if user.is_active: login(request, user) return Response({'message': 'Login successful'}) else: return Response({'error': 'User account is disabled'}, status=status.HTTP_401_UNAUTHORIZED) else: return Response({'error': 'Invalid phone number or password'}, status=status.HTTP_401_UNAUTHORIZED) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST) return Response({'error': 'Method not allowed'}, status=status.HTTP_405_METHOD_NOT_ALLOWED)
settings.py
AUTH_USER_MODEL='detectapp.CustomUser'
I made a customusermodel to log in with phone number. But not able to resolve the issue.