Django 如何基于外键对queryset进行排序,并且没有重复项
我想在我的网站上展示5本最近被评论过的书。我正试着根据书被评论的时间来订购这些书。问题是,如果一本书最近被评论了不止一次,它就会出现不止一次。如何从该查询中获得5本独特的书籍?(我尝试将.distinct()添加到查询中,但没有成功!)Django 如何基于外键对queryset进行排序,并且没有重复项,django,django-queryset,Django,Django Queryset,我想在我的网站上展示5本最近被评论过的书。我正试着根据书被评论的时间来订购这些书。问题是,如果一本书最近被评论了不止一次,它就会出现不止一次。如何从该查询中获得5本独特的书籍?(我尝试将.distinct()添加到查询中,但没有成功!) review=Book.objects.order\u by('-review\u date\u posted')[:5]您可以使用.distinct('review')您可以按review中最大的发布日期进行订购,因此: from django.db.mode
review=Book.objects.order\u by('-review\u date\u posted')[:5]
您可以使用.distinct('review')
您可以按review
中最大的发布日期进行订购,因此:
from django.db.models import Max
Book.objects.annotate(
last_review=Max('review__date_posted')
).order_by('-last_review')[:5]
从django.db.models导入最大值
书、物体、注解(
最后一次审核=最大值(“审核日期发布”)
).order_by('-last_review')[:5]
您的图书模型和书评模型是什么样子的?