Django在同一字段上多次注释(计数)
我试图使用Django在同一字段上多次注释(计数),django,django-models,Django,Django Models,我试图使用注释在queryset中的字段上添加计数,并根据不同的过滤器返回结果。在下面的示例中,模型是用户,与文章有很多关系。我想计算一下用户文章中文章字段的不同值难度: queryset = queryset.filter(article__status='published')\ .annotate(Count('article', distinct=True)) .filter(article__difficulty='easy')\ .anno
注释在queryset中的字段上添加计数,并根据不同的过滤器返回结果。在下面的示例中,模型是用户
,与文章
有很多关系。我想计算一下用户文章中文章字段的不同值难度
:
queryset = queryset.filter(article__status='published')\
.annotate(Count('article', distinct=True))
.filter(article__difficulty='easy')\
.annotate(Count('article', distinct=True))\
.filter(article__difficulty='medium')\
.annotate(Count('article', distinct=True))\
.filter(article__difficulty='hard')\
.annotate(Count('article', distinct=True))
此结果仅返回文章计数
,其值为难度=hard
有没有办法在同一查询集中获取所有四个值的值?这就是您要查找的吗
(queryset.filter(article__status='published')
.values('article__difficulty')
.annotate(Count('article__difficulty')))
你的意思是你想让queryset在一个查询中变成类似[4,2,5,9]的东西?(困难数)