Django终于可以了吗?没有这个功能,使用ORM有点奇怪。
答案 0 :(得分:2)
Django聚合文档实际上有两个部分叫做filtering on annotations和order_by()
,它们可以满足您的需求:
books_w_author_count = Book.objects.annotate(num_authors=Count('authors'))
# just a filter by number of objects
books_w_author_count.filter(num_authors__gt=1)
# just ordering on the count
books_w_author_count.order_by('num_authors')
class Author(modules.Model):
# ...
class Book(models.Model):
# ...
authors = models.ManyToManyField(Author)
答案 1 :(得分:1)