Możliwe jest użycie prefetch_related
aby pobrać tagi, ale musisz obejść właściwość 'tags', ponieważ - jak mówi jdi - jest to niestandardowy menedżer, a nie prawdziwa relacja. Zamiast tego możesz:
actions = Action.objects.select_related('reoccurance').filter(complete=False)\
.prefetch_related('tagged_items__tag')
Niestety, action.tags.all
w kodzie szablonu nie użyje pobierania z wyprzedzeniem i zakończy się wykonaniem własnego zapytania - więc musisz wykonać dość chytry krok ominięcia menedżera „tagów” również tam:
{% for tagged_item in action.tagged_items.all %}
<span>{{ tagged_item.tag }}</span>{% if not forloop.last %}, {% endif %}
{% endfor %}
(Wyd.:jeśli otrzymujesz obiekt "'QuerySet' nie ma atrybutu 'prefetch_related'", co sugeruje, że korzystasz z wersji Django poniżej 1.4, gdzie prefetch_related nie jest dostępna.)