Как аутентифицировать пользователя с помощью таблицы Custom user с телефоном в качестве имени пользователя в Django

Я использую пользовательский пользователь в моем django приложении и он работает нормально, когда я создаю пользователя, но проблема возникает, когда я пытаюсь аутентифицировать пользователя, используя phone как username он просто не работает.

вот мой код :

@api_view(['POST'])
@permission_classes([AllowAny])
def login_view(request):
    """
    function that used to do user login
    """
    if request.method == 'POST':
        lang = request.META.get('HTTP_LANG', 'ar')
        phone = request.data['phone']
        password = request.data['password']
        firebase_token = request.data['firebase_token']
        # user = CustomUser.objects.filter(phone=phone, password=password)
        user = authenticate(phone=phone, password=password)
        print(f"qwdwqdwqdwqdwqdqw {phone} qwdwqdwqdqwd") #prints the right phone
        print(f"qwdwqdwqdwqdwqdqw {password} qwdwqdwqdqwd")# prints the right password
        print(f"qwdwqdwqdwqdwqdqw {user} qwdwqdwqdqwd") # always gives None
        if user is not None:
            user.firebase_token = firebase_token
            user.save()
            Token.objects.filter(user=user).delete()
            token = Token.objects.create(user=user)
            add_device_to_one_signal(user.firebase_token, user.id, True if user.user_type == "supplier" else False)
            return Response(generate_json(True, CustomUserSerializer(user).data,
                                          "تم تسجيل الدخول بنجاح" if lang == "ar" else "Login Successfully"),
                            status=200)
        return Response(generate_json(False, {}, "خطأ في البيانات" if lang == "ar" else "Invalid Data"), status=400)
Вернуться на верх