我有一个像这样的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新手) 谢谢
答案 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)