Как я могу отправить обновленный запрос от одного api к другому api

Я вызываю update_profile api, по которому return Response(self.profile(request).data) должен выдавать обновленный профиль пользователя. но дело в том, что он не выдает результат в реальном времени. Если я меняю имя, это не отражается в одном api хите. Изменения отражаются во втором api хите. Из-за того же request передается в profile api. Как я могу обновить запрос и затем отправить его в self.profile

Вот мой код:

@action(detail=False, methods=['get'], authentication_classes=(JWTAuthentication, SessionAuthentication))
def profile(self, request):
    user = self.get_user()
    if not user:
        raise AuthenticationFailed()
    return Response(
        {"status": 200, "message": "Success", "data": UserSerializer(user, context={"request": self.request}).data},
        status=status.HTTP_200_OK)


@action(detail=False, methods=['post'], authentication_classes=(JWTAuthentication, SessionAuthentication))
def update_profile(self, request):

    profile_serialize = ProfileSerializer(data=request.data)
    profile_serialize.is_valid(raise_exception=True)

    AppUser.objects.filter(pk=self.get_user().pk).update(**profile_serialize.data)

    return Response(self.profile(request).data)

Вы можете сделать что-то вроде этого, чтобы получить обновленного пользователя.

@action(detail=False, methods=['get'], authentication_classes=(JWTAuthentication, SessionAuthentication))
def profile(self, request):
    user = self.get_user()
    if not user:
        raise AuthenticationFailed()
    else:
        user = AppUser.objects.get(pk=self.get_user().pk)
    return Response(
        {"status": 200, "message": "Success", "data": UserSerializer(user).data},
        status=status.HTTP_200_OK)


@action(detail=False, methods=['post'], authentication_classes=(JWTAuthentication, SessionAuthentication))
def update_profile(self, request):

    profile_serialize = ProfileSerializer(data=request.data)
    profile_serialize.is_valid(raise_exception=True)

    AppUser.objects.filter(pk=self.get_user().pk).update(**profile_serialize.data)

    return Response(self.profile(request).data)

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