从 Django 中的查询中获取最高 3 条记录
Get highest 3 count records from the query in django
我想从用户 table 那里得到所有相同记录的总和。下面给出了我正在做的事情
result = Patient.objects.filter(active=1).values('name').order_by().annotate(Count('name'))
使用这个我得到如下结果:
<QuerySet [{'name': 'ankita', 'name_count': 9}, {'name': 'preety', {'count': '8', 'name': "neha'}]>
它返回我的名字和计数。它是完美的。
如何获得位置计数的前 3 个结果?
您可以将 order_by(...)
与 Python 的 切片运算符[ 一起使用=28=]作为
result = User.objects.filter(active=1) \
.values('location__state') \
<b>.annotate(count_loc=Count('location')) \
.order_by('-count_loc')[:3]</b>
order_by('-count_loc')
以降序排列结果, [:3
] 为您提供 前 3 个条目。
我想从用户 table 那里得到所有相同记录的总和。下面给出了我正在做的事情
result = Patient.objects.filter(active=1).values('name').order_by().annotate(Count('name'))
使用这个我得到如下结果:
<QuerySet [{'name': 'ankita', 'name_count': 9}, {'name': 'preety', {'count': '8', 'name': "neha'}]>
它返回我的名字和计数。它是完美的。
如何获得位置计数的前 3 个结果?
您可以将 order_by(...)
与 Python 的 切片运算符[ 一起使用=28=]作为
result = User.objects.filter(active=1) \
.values('location__state') \
<b>.annotate(count_loc=Count('location')) \
.order_by('-count_loc')[:3]</b>
order_by('-count_loc')
以降序排列结果, [:3
] 为您提供 前 3 个条目。