Django:重写list方法,修改drf默认查询的返回格式


需求:

  由于前端框架需要后端返回数据格式为{"rows: "[{"id":1,"project_name":"短信"},{"id":2,"project_name":"短信"}], "total": 2},

默认情况下ListAPIView视图获取列表所有数据返回数据格式为:[{"id":1,"project_name":"短信"},{"id":2,"project_name":"短信"}]

class ServerInfoList(generics.ListAPIView):
    """
    获取所有服务器信息
    """
    queryset = ServerInfo.objects.all()
    serializer_class = ServerInfoSerializers

但是前端框架需要返回格式为:{"rows: "[{"id":1,"project_name":"短信"},{"id":2,"project_name":"短信"}], "total": 2},

分析:

  上面的ServerInfo类继承自子类视图ListAPIView,返回了list方法,

 

 其中list方法来自于继承的mixins.ListModelMixin,所以需要修改返回结果就只需要重写这个list方法就可以了

 

 最终修改如下:

 

 测试一下看返回格式:

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM