Как извлечь данные из сериализованного класса RestApi - PullRequest
0 голосов
/ 02 ноября 2019

В функции входа в систему извлекается токен, и мне нужно получить все сведения о клиенте. Как это сделать?

Я не знаю, как получить данные из класса ClientSerializer.

, если я попытался вызвать ошибку «Объект типа SerializerMetaclass не поддерживает сериализацию в формате JSON»

View.py

 class Client_view(generics.ListCreateAPIView, generics.RetrieveUpdateDestroyAPIView):
        authentication_classes = [SessionAuthentication, BasicAuthentication, TokenAuthentication]
        permission_classes = [IsAuthenticated]
        queryset = Client.objects.all()
        serializer_class = ClientSerializer


class LoginView(APIView):

    def post(self, request):

        serializer = LoginSerializer(data=request.data)
        serializer.is_valid(raise_exception=True)
        user = serializer.validated_data["user"]
        profile=ClientSerializer
        django_login(request, user)
        token, created = Token.objects.get_or_create(user=user)
        return Response( {"token":Token.key},{"Here i Need to Print All profile Details"},{"username":user.username}, status=200)

Сериализатор. py

class ClientSerializer(serializers.ModelSerializer):
    class Meta:
        fields = ['id', 'Name', 'UserName', 'Email', 'Mobile', 'Address']

        model = models.Client


class LoginSerializer(serializers.Serializer):
    username = serializers.CharField()
    password = serializers.CharField()

    def validate(self, data):
        username = data.get("username", "")
        password = data.get("password", "")

        if username and password:
            user = authenticate(username=username, password=password)
            if user:
                if user.is_active:
                    data["user"] = user
                else:
                    msg = "User is deactivated."
                    raise exceptions.ValidationError(msg)
            else:
                msg = "Unable to login with given credentials."
                raise exceptions.ValidationError(msg)
        else:
            msg = "Must provide username and password both."
            raise exceptions.ValidationError(msg)
        return data
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...