1
私はannotating and aggregatingの始まりを読んでいると私は次のような状況を完了するために最適な方法と思いまして:シンプルジャンゴ集約 - 最適化
あなたはクエリセット内の各書籍のために著者の数をカウントします。
Book.objects.annotate(Count('authors'))
私の質問は、なぜあなたはモデルインスタンスメソッドでこれを達成することができ、それはこの方法を行うと::
#models.py
class Book(models.Model):
authors = models.ManyToManyField(Author)
def author_count(self):
return self.authors.count()
#views.py
books = Book.objects.all()
#template.html
{% for book in books %}
{{ book.author_count }}
{% endfor %}
が他方より1つの状況優れているのチュートリアルでは、annotate
と、次の示唆しますか?最適化のメリットがありますか?