def get(self, request, *args, **kwargs): key = kwargs.get('id', None) if key: queryset = models.Client.objects.raw( "SELECT * FROM api_client WHERE id = %s LIMIT 1", (uuid.UUID(key).hex, )) if len(queryset) > 0: return Response(serializers.ClientSerializer(queryset, context={ 'request': request }, many=True).data, status=status.HTTP_200_OK) raise exceptions.NotFound( detail="The requested client was not found.") queryset = models.Client.objects.raw("SELECT * FROM api_client") return Response(serializers.ClientSerializer(queryset, context={ 'request': request }, many=True).data, status=status.HTTP_200_OK)
def me(self, request): if request.method == "GET": serializer = serializers.ClientSerializer(request.user) return Response(serializer.data) if request.method == "PATCH": serializer = serializers.ClientSerializer( request.user, data=request.data, partial=True ) serializer.is_valid(raise_exception=True) serializer.save() return Response(serializer.data)
def put(self, request): file = request.FILES['data'] parser = CSVParser(file, ',') data = parser.parse() serializer = serializers.ClientSerializer(data=data, many=True) serializer.is_valid(raise_exception=True) serializer.save() return Response(serializer.data, status=status.HTTP_201_CREATED)
def put(self, request, *args, **kwargs): key = kwargs.get('id', None) if not key: return instance = None result = models.Client.objects.raw( "SELECT * FROM api_client WHERE id = %s LIMIT 1", (uuid.UUID(key).hex, )) if len(result) > 0: instance = result[0] else: raise exceptions.NotFound( detail="The requested client was not found.") serializer = serializers.ClientSerializer(instance, data=request.data) serializer.is_valid(raise_exception=True) serializer.save() return Response(serializer.data, status=status.HTTP_200_OK)
def post(self, request): serializer = serializers.ClientSerializer(data=request.data) serializer.is_valid(raise_exception=True) serializer.save() return Response(serializer.data, status=status.HTTP_201_CREATED)