Как я могу отправить обновленный запрос от одного 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)