Example #1
0
    def push(self, request, pk, format=None):
        """可以通过此接口推送数据到一张表, 需要定义数据字段和对应值."""
        try:
            model = self.validate_model(request, str(pk))
            serializer_class = convert_to_serializer(str(pk + 'serializer'), model)
            setattr(self, 'serializer_class', serializer_class)

            serializer = self.get_serializer(data=request.data)
            serializer.is_valid(raise_exception=True)
            self.perform_create(serializer)
            headers = self.get_success_headers(serializer.data)
            return Response(serializer.data, status=status.HTTP_201_CREATED, headers=headers)
        except ValidationError as e:
            raise APIException("ValidationError E:%s" % str(e))
        except TypeError as e:
            raise APIException("TypeError E:%s" % str(e))
Example #2
0
    def pull(self, request, pk):
        """可以通过此接口查看一张表数据, 注意由于数据不固定,目前仅提供100条."""
        model = self.validate_model(request, str(pk))
        serializer_class = convert_to_serializer(str(pk + 'serializer'), model)

        setattr(self, 'serializer_class', serializer_class)
        setattr(self, 'queryset', model.objects.all())

        queryset = self.filter_queryset(self.get_queryset())

        page = self.paginate_queryset(queryset)
        if page is not None:
            serializer = self.get_serializer(page, many=True)
            return self.get_paginated_response(serializer.data)

        serializer = self.get_serializer(queryset, many=True)
        return Response(serializer.data)
Example #3
0
    def pull(self, request, pk):
        """可以通过此接口查看一张表数据, 注意由于数据不固定,目前仅提供100条."""
        model = self.validate_model(request, str(pk))
        serializer_class = convert_to_serializer(str(pk + 'serializer'), model)

        setattr(self, 'serializer_class', serializer_class)
        setattr(self, 'queryset', model.objects.all())

        queryset = self.filter_queryset(self.get_queryset())

        page = self.paginate_queryset(queryset)
        if page is not None:
            serializer = self.get_serializer(page, many=True)
            return self.get_paginated_response(serializer.data)

        serializer = self.get_serializer(queryset, many=True)
        return Response(serializer.data)