python - Django计数查询集,显示对象而不是PK
问题描述
我编写了一个查询来对计数查询从最大到最小进行排序。基本上是一个排名系统。
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_id似乎是主键,是的,它链接到我的数据库中的正确键..但我不知道让它输出实际名称/电子邮件或基于该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)
还有一个问题 - 是否可以根据 User 模型中存在的布尔值进行过滤?
解决方案
假设是一个具有名为和(和)字段friend
的模型的 FK ,您可以在部件中指定这些字段,如下所示:User
email
first_name
last_name
.values(...)
Referrals.objects.values('friend_id', 'friend__email', 'friend__first_name') ...
推荐阅读
- excel - 如果单元格中的第一个字符是“-”,则更改整行颜色
- javascript - Socket.io,代码始终返回错误 net::ERR_CONNECTION_TIMED_OUT
- postgresql - 有没有办法使用 AWS KMS 或其他方式加密 AWS EC2 实例 PostgreSQL 数据库?
- swift - ARView 和 ARSCNView 可以共存吗?
- r - r:在ggplot2中压缩x轴(x轴是二进制值)
- python - 打开和阅读文本文件的大问题
- java - 从该网站的隐藏 html 元素的表格中获取信息的最佳方法是什么?
- oauth - Slack 返回 invalid_auth 护照
- docker - DockerHub:sha 摘要不匹配
- api - 带有 Logstash 7.2.0 的 Snow API