嵌套JSON与Django api REST

时间:2014-07-07 01:25:13

标签: python json django django-rest-framework

我有一个像这样的Django REST Framework视图:

#views.py
class RegistroViewSet(viewsets.ModelViewSet):
queryset = Registro.objects.all()
serializer_class = RegistroSerializer

和JSON响应具有此格式

[{"id": 1 .....}]

我需要这样的东西

{"success":true,"data":[{"id":"1" ...}]}

和序列化程序

class RegistroSerializer(serializers.HyperlinkedModelSerializer):
idProce = serializers.PrimaryKeyRelatedField(many=False)
idEntidad = serializers.PrimaryKeyRelatedField(many=False)
idUsuario =  serializers.PrimaryKeyRelatedField(many=False)

class Meta:

    model = Registro 

我该怎么办?(Django新手) 谢谢

1 个答案:

答案 0 :(得分:0)

ModelViewSet是一个非常优秀的类,它使一件事非常好:返回序列化模型,以及它的相关信息。在这种情况下,您可以创建自己的ViewSet来为您处理该模型,它可以让您选择显示数据的方式,它看起来像这样:

from rest_framework.response import Response

class RegistroViewSet(viewsets.ViewSet): #just ViewSet, not ModelViewSet
    def list(self, request):
        queryset = Registro.objects.all()
        serializer = RegistroSerializer(queryset, many=True)
        my_dict = {'success': True, 'data':serializer.data}
        return Response(my_dict)