Django聚合ManyToMany字段

时间:2016-09-29 21:08:56

标签: python django many-to-many

说我有像这样的Django模型:

class Author(models.Model):
    name = models.CharField(max_length=100)

class Book(models.Model):
    authors = models.ManyToManyField(Author)

获得每个作者在一两个查询中创建(最好是订购)的图书数量的最佳方法是什么?

作者集可能会变得非常大,所以我正在寻找一种方法来避免迭代所有这些。

1 个答案:

答案 0 :(得分:-3)

在您的模型书中添加...

...
author = models.ForeignKey(Author)
...

然后使用像

这样的QuerySet
...
Author.objects.get(id=some_id).book_set.all() # this line, return all book of these author, if you want get the number just add at end '.count()'
...