python - 带有 Django apiREST的嵌套 JSON

  显示原文与译文双语对照的内容
0 0

我有一个 Django REST框架视图,如下所示:

#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)
原作者:
...