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