Начиная с Django 1.4, вы можете использовать prefetch_related
для извлечения отношений один-ко-многим в наборе запросов в одном запросе. К сожалению, это не работает блестяще с django-taggit, потому что свойство 'tags' является менеджером, а не истинным отношением, и поэтому prefetch_related не может это понять. Вместо этого вам нужно следовать отношению tagged_items:
entries = Entry.objects.prefetch_related('tagged_items__tag')
Затем вам нужно пройти через некоторые похожие искажения в коде шаблона, чтобы получить доступ к предварительно выбранным тегам, потому что entry.tags.all
будет выполнять другой запрос, а не использовать предварительную выборку:
{% for tagged_item in entry.tagged_items %}
<li>{{ tagged_item.tag.name }}</li>
{% endfor %}