我希望在django上做类似SQL的“Group by,Count”。以下是我目前的代码进度:
tags = tag.objects.values('tag').annotate(Count('tag')).order_by()
标签类:
class tag(models.Model):
id = models.IntegerField('id',primary_key=True,null=False)
question_id = models.ForeignKey(question,null=False)
tag = models.TextField('tag',null=True)
所以,我的问题是上面的查询是否可以获得类似SQL的“Group by,Count”?如果是,我该如何获得计数值?
答案 0 :(得分:1)
您可以存储带注释的值:
tags = tag.objects.values('tag').annotate(tag_count=Count('tag')).order_by()
for tag in tags:
print tag['tag_count']
您也可以在order_by
中使用带注释的值:
tags = tag.objects.values('tag').annotate(tag_count=Count('tag')).order_by('-tag_count')