AssertionError: Ожидался `Response`, `HttpResponse` или `HttpStreamingResponse` ..., но получен `<class 'rest_framework.authtoken.models.Token'>'

Я пытаюсь вернуть аутентифицированную информацию о пользователе, такую как имя пользователя, email, first_name и last_name в MyProfile.vue с помощью сериализатора. Я получаю эту ошибку и не могу найти способ ее решения. Логика такова: Аутентифицированный пользователь хранит токен в localStorage, я получаю его через Axios запрос и отправляю его в View модель в Django, где я использую его для поиска пользователя и отправляю этого пользователя в get метод, чтобы отправить его обратно в MyAccount.vue и показать информацию о пользователе. Я использую Django Rest Framework и Vue.js. Надеюсь на вашу помощь, я уже неделю бьюсь с этой проблемой. Спасибо!

PS: Я делаю это, потому что User.objects.get(current_user=request.user) возвращает AnonymousUser, даже если я аутентифицирован.

Это мой Views.py:

class UserDetails(APIView):

    def post(self, request, *args, **kwargs):
        serializer = UserAccountTokenSendSerializer(data=request.data)
        global token
        if serializer.is_valid():
            token = serializer.validated_data['token']
            user = Token.objects.get(key=token)
            self.user = user
            # global current_user
            # current_user = User.objects.get(username=user)
            # email = User.objects.get(email=user)
            # print(current_user, email)
            return user
        return Response(serializer.data)


    def get(self, request, *args, **kwargs):
        details = User.objects.get(user=self.user)
        print(self.user)
        serializer = UserAccount(details, many=True)
        return Response(serializer.data)
        # HERE I TRY TO PRINT IT TO SEE IF IT WORKS AND THIS IS WHERE I GET THE ERROR
        


        # serializer = UserAccount(details, many=True)
        # return Response(serializer.data)

Вот мои сериализаторы:

class UserAccount(serializers.ModelSerializer):
    class Meta:
        model = User
        fields = (
            'first_name',
            'last_name',
            'email',
            'username',
        )
        
# SENDS TOKEN TO CHECK PROFILE DETAILS
class UserAccountTokenSendSerializer(serializers.ModelSerializer):
    class Meta:
        model = UserAccountTokenSend
        fields = (
            'token',
        )

    # SENDS TOKEN AND RETRIEVES USER DATA
    path('get-user-tokens/', views.UserDetails.as_view()),

    # RETREIVES THE AUTHENTICATED USER DATA AND SENDS IT TO MYACCOUNT.VUE
    path('get-user-details/', views.UserDetails.as_view()),

Вернуться на верх