 <p>If you already have a retrieved author and you want to get the article count then using the <a href="https://docs.djangoproject.com/en/1.8/ref/models/relations/" rel="nofollow">related manager's</a> <code>count</code> method (<code>author.article_set.count()</code>) is probably okay.</p> <p>On the other hand if you are iterating over an (possibly lagre) <code>Author</code> queryset just to get the counts, it will do a lot of queries (one to retrieve all authors and one per author to get the count). This can be easily replaced by an <a href="https://docs.djangoproject.com/en/1.8/topics/db/aggregation/" rel="nofollow">annotated queryset</a> that will result in only one query:</p> <pre><code>from django.db.models import Count Author.objects.annotate(article_count=Count('articles')) </code></pre> <p>Later on in your in your template you can just use <code>{{ article.author_count }}</code>.</p>