Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django在同一字段上多次注释(计数)_Django_Django Models - Fatal编程技术网

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]的东西?(困难数)