【发布时间】:2016-03-23 08:18:31
【问题描述】:
我已阅读此主题:Django query: Count and Group BY 并阅读 django queryset doc
我找到了两种实现 SQL 的方法COUNT GROUP BY。
(1)distinct
note_list = Note.objects.filter(user=user).order_by('tag').values('tag').distinct()
for note in note_list:
print note
为我工作。
(2)annotate
qs = Note.objects.filter(user=user).annotate(Count('tag'))
for e in qs:
print e.tag__count
没有工作。 count 总是1。
当我使用distinct 而不是order_by 时,它也不起作用。我试过其他方法,也没有用。
django 版本:1.8
MySQL 版本:5.6.29
更新:
Note.objects.filter(user=user).order_by('tag').values('tag').annotate(count=Count('tag'))
为我工作!
【问题讨论】: