带计数过滤器的 Django 查询集

标签 django filter count

我已经完成了整个 Django 教程,但我不知道如何让网站只显示选项数大于 0 的投票。 我知道 Poll.objects.get(pk=1).choice_set.count() 会返回我的选择数。 所以我尝试了过滤器 Poll.objects.filter(choice_set.count()>0) 但它没有用。 有人能帮助我吗?谢谢

这是我的实际查询集。

queryset=Poll.objects.filter(pub_date__lte=timezone.now).order_by('-pub_date')[:5]

最佳答案

queryset=Poll.objects.annotate(count=Count('choice')).filter(
    pub_date__lte=timezone.now, count__gt=0).order_by('-pub_date')[:5]

关于带计数过滤器的 Django 查询集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15649941/

相关文章:

python - 我应该如何发送Post请求来创建具有外键关系的对象

基于先前值的 Javascript 过滤器

ruby - 如何一次匹配多个正则表达式的行?

javascript - 使用嵌套在 .map 中的 .find 来构建对象数组

java - 一个表中多列的每条记录(整数)的 SQL 计数出现次数

python - Django , python :AttributeError: 'NoneType' object has no attribute '_meta'

javascript - Django admin 添加 View 弹出对话框

python - Html/Django - 从磁盘加载静态图像失败

mysql - 如何从MySQL中的列值大于b表计数值的表中仅选择行

mysql - 关于显示类别广告计数器的给定查询有什么问题?