我编写了一个查询来对计数查询进行排序,从最大到最小。基本上是排名系统。你知道吗
users = Referrals.objects.values('friend_id').annotate(Count('friend_id')).order_by('-friend_id__count')
它以json格式返回如下值
<QuerySet [{'friend_id': 1, 'friend_id__count': 2}, {'friend_id': 5, 'friend_id__count': 1}]>
现在,friend\u id似乎是主键,是的,它链接到my DB中的正确键。。但我不知道让它输出实际的名字/电子邮件或任何基于PK的东西?你知道吗
这是我的模板,我希望它显示排名。你知道吗
{% for a in users %}
<tr>
<td>{{a}}</td>
<td>{{a}}</td>
</tr>
{% endfor %}
以下是我对它价值的全部看法。你知道吗
@login_required
def statspage(request):
users = Referrals.objects.values('friend_id').annotate(Count('friend_id')).order_by('-friend_id__count')
print(users)
context = {
'users': users,
}
return render(request, 'stats.html', context)
还有一个问题-是否可以基于用户模型中存在的布尔值进行过滤?你知道吗
尝试以下代码
当您使用
values
时,它将只返回您指定的db列。你知道吗在模板中,您可以访问
假设
friend
是一个FK到User
的模型,它包含名为email
和first_name
(和last_name
)的字段,您可以在.values(...)
部分中指定这些字段,如下所示:相关问题 更多 >
编程相关推荐