在Django中,可以通过使用两个聚合函数来实现分组排序:
Count
和
Avg
。通过使用这两个函数,可以对一组对象进行计数并对它们进行平均值计算。
例如,如果你想对一组书籍进行分组并按评分进行排序,可以使用如下代码:
from django.db.models import Count, Avg
books = Book.objects.values('author__name').annotate(average_rating=Avg('rating')).order_by('-average_rating')
在这个例子中,我们通过使用 values
方法选择了我们想要的字段,并使用 annotate
方法计算每个作者的平均评分。最后,我们使用 order_by
方法将结果按照平均评分从高到低进行排序。