Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.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_Sorting_Annotate - Fatal编程技术网

非常困惑。。。使用'时出现问题;注释';在Django

非常困惑。。。使用'时出现问题;注释';在Django,django,sorting,annotate,Django,Sorting,Annotate,所以我有两个模型,一个排名模型和一个用户排名模型。该应用程序的核心内容是人们获取项目列表并对其进行排名(例如:“2008年最佳电影”)。排名模型是总的总排名列表,它是根据人们为该列表创建的所有不同用户排名计算出来的。因此,对于每个排名,都有一系列不同的用户排名,每个用户通过提交其排名版本的列表给出自己的意见。UserRanking模型有一个名为“ranking”的外键字段,该字段指向排名模型 无论如何,我正在努力收集流行的排名。我的第一步是使用以下代码行获取与大多数用户排名相关联的排名: pop

所以我有两个模型,一个排名模型和一个用户排名模型。该应用程序的核心内容是人们获取项目列表并对其进行排名(例如:“2008年最佳电影”)。排名模型是总的总排名列表,它是根据人们为该列表创建的所有不同用户排名计算出来的。因此,对于每个排名,都有一系列不同的用户排名,每个用户通过提交其排名版本的列表给出自己的意见。UserRanking模型有一个名为“ranking”的外键字段,该字段指向排名模型

无论如何,我正在努力收集流行的排名。我的第一步是使用以下代码行获取与大多数用户排名相关联的排名:

popular = Ranking.objects.all().annotate(num_user_rankings=Count('userranking')).order_by('num_user_rankings')[:50]
然而,Django给了我一个NameError,并说:“没有定义全局名称‘Count’”。 它没有抱怨annotate(它只在Django开发版本中可用),所以这意味着Django开发工作正常吗? Django文档中清楚地将“Count”描述为几个聚合函数之一,这些聚合函数可用作注释的arg。这完全没有道理


事实上,我刚刚对它进行了测试,我能够使用无参数的annotate来显示我的页面,并且它没有给我任何错误(显然我也删除了顺序)。所以注释确实有效

您是否从
django.db.models
导入计数

from django.db.models import Count

从django.db.models导入计数

我不敢相信答案会这么简单。我知道我在做傻事,但没那么蠢!谢谢,祝您度过愉快的一天=)'from django.db.models import Count'