【问题标题】:How to show the record count together with response data in django-restframework如何在 django-rest 框架中显示记录计数和响应数据
【发布时间】:2022-01-06 21:14:51
【问题描述】:

我需要在 django-restframework 中显示总记录数和响应数据。我设法添加状态而不是总记录数,如下所示

{ “状态”:“成功”, “数据”: [ { ... }, { ... } ] }

预期结果应该是 { “状态”:“成功”, “数据”: [ { ... }, { ... } ] }

views.py

类 MyView(APIView): serializer_class= 我的序列化器

def get(self, request, format=None):
    rs = MyModel.objects.filter(segment_column_name='SEGMENT1')
    serializer = MySerializers(rs, many=True)
    return Response({"status": "success", "data": serializer.data}, status=status.HTTP_200_OK)

提前非常感谢, 防御

【问题讨论】:

    标签: django-rest-framework django-views


    【解决方案1】:

    你可以这样做:

    def get(self, request, format=None):
        rs = MyModel.objects.filter(segment_column_name='SEGMENT1')
        serializer = MySerializers(rs, many=True)
        return Response({"status": "success", "data": serializer.data, "count": len(rs)}, status=status.HTTP_200_OK)
    

    仅供参考:您也可以使用 count() 来计算查询集的项目,但在您的情况下 len() 会更快

    【讨论】:

    • 你的答案是正确的。
    猜你喜欢
    • 2019-07-24
    • 1970-01-01
    • 2019-10-16
    • 2017-06-16
    • 2016-03-10
    • 2020-03-19
    • 2020-03-01
    • 2020-06-17
    • 2020-12-04
    相关资源
    最近更新 更多