在 Django Restful API 中返回记录计数



我有一个非常复杂的API,它通过POST请求接受不同的过滤器字段。 结果是数据库中的项目列表。如果用户未正确筛选,则总结果集可以是数千个项目。

API 将仅返回 30 个项目,但我想添加满足搜索条件的项目总数。我知道我可以在序列化程序类中添加一个自定义字段来返回计数,但我不知道如何访问查询集来查询 count((。

我确信有一个简单的解决方案,但我缺少

谢谢埃亚尔

我让它工作,但解决方案很丑陋,我不敢相信框架中没有原生支持。我一定错过了什么

#querysey has several filters set till now
#save the querysey
queryset_orig = queryset
#add limits
queryset = queryset.filter()[:30]    
serializer = ItemsSerializer(queryset, many=True)
#add total count to the first items only
serializer.data[0]. update ({'count':queryset_orig.count()})