我有一个关于按Like计数大于给定数字过滤帖子的问题。
当我输入post时,我想要实现的是DJANGO SHELL。我要查看所有点赞数超过10的帖子。
我该怎么做呢?
感谢models.py
class Post(models.Model,HitCountMixin):
likes = models.ManyToManyField(User, related_name="likes", blank=True)
您可以使用.annotate()
[Django-doc] and.filter(…)
[Django-doc]:
from django.db.models import Count
Post.objects.annotate(
nlikes=Count('likes')
).filter(
nlikes__gt=10
)
从django-3.2开始,我们可以用.alias()
代替.annotate(…)
[Django-doc]:from django.db.models import Count
Post.objects.alias(
nlikes=Count('likes')
).filter(
nlikes__gt=10
)