Django查询多次出现的外部对象

1 投票
1 回答
541 浏览
提问于 2025-04-17 07:16

我有点难以把这个问题说清楚,所以先说声抱歉。情况是这样的。

我有一个用户在Foursquare签到的表格。每次签到都有一个指向地点的外键。我想要的是“给我所有用户的签到记录,按照他们在每个地点签到的次数排序,并且把签到次数也算在查询结果里”。我还希望列表中每个地点只出现一次。

假设这是用户签到的列表:

A
A
B
A
A
B
B
C

我希望返回的结果是

A (4)
B (3)
C (1)

这个我应该在查询的时候就处理好,还是先把所有数据查询出来,然后再用Python处理呢?

Brenden

1 个回答

1

你只需要给Checkin模型加上标注,然后把它的顺序反过来。

from django.db.models import Count
Checkins.objects.filter(user=my_user).annotate(chkn_count=Count('location')).order_by('-chkn_count')

撰写回答