Django REST框架:为Renderer提供QuerySet

时间:2016-07-19 17:43:25

标签: python django django-rest-framework django-queryset

我们希望使用Django REST框架将模型数据(通过Django REST框架API指定的过滤)呈现为图。我们的绘图引擎直接与Django QuerySets一起使用。

问题是:如何将模型数据序列化为Django QuerySets

我们尝试创建一个只传递数据的Serializer(没有成功):

class QuerySetSerializer(serializers.BaseSerializer):
    many = True
    def to_representation(self, obj):
        return obj

如果可以通过Django REST框架(通过Django REST框架URL系统提供的QuerySet参数)访问相同的<my filter>,那将是很好的,你可以在内部访问

mymodel.objects.filter(<my filter>)

关于如何实现这一目标的任何想法?

1 个答案:

答案 0 :(得分:0)

你的意思是做这样的事情吗?

from rest_framework import generics, serializers

from .models import Foo


class QuerySetSerializer(serializers.ModelSerializer):
    class Meta:
        model = Foo
        fields = ('id', 'field1', 'field2',)


class QuerySetList(generics.ListAPIView):
    serializer_class = QuerySetSerializer

    def get_queryset(self):
        return Foo.objects.filter(<my filter>)  # You can filter whatever you want here