Django 查询相关字段计数
我有一个用户可以创建页面的应用程序。我想运行一个简单的数据库查询,返回有多少用户创建了超过 2 个页面。
这本质上是我想做的,但当然这不是正确的方法:
User.objects.select_related('page__gte=2').count()
我错过了什么?
I've got an app where users create pages. I want to run a simple DB query that returns how many users have created more than 2 pages.
This is essentially what I want to do, but of course it's not the right method:
User.objects.select_related('page__gte=2').count()
What am I missing?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您应该使用 聚合。
You should use aggregates.
就我而言,我没有像 其他答案,它也很好用。
In my case, I didn't use last
.count()
like the other answer and it also works nice.将aggregate() 函数与django.db.models 方法一起使用!
这非常有用,并且不会真正压倒其他注释聚合列。
*在计算的最后一步使用aggregate(),它将你的查询集转换为字典。
下面是我使用它们的代码片段。
use aggregate() function with django.db.models methods!
this is so useful and not really crushing with other annotation aggregated columns.
*use aggregate() at the last step of calculation, it turns your queryset to dict.
below is my code snippet using them.