Je možné použít prefetch_related
k načtení značek, ale musíte obejít vlastnost 'tags', protože - jak říká jdi - jde spíše o vlastní správce než o skutečný vztah. Místo toho můžete:
actions = Action.objects.select_related('reoccurance').filter(complete=False)\
.prefetch_related('tagged_items__tag')
Bohužel action.tags.all
v kódu vaší šablony nevyužije předběžné načtení a skončí tím, že provede svůj vlastní dotaz – takže musíte udělat poměrně ošemetný krok a obejít správce „tagů“ i zde:
{% for tagged_item in action.tagged_items.all %}
<span>{{ tagged_item.tag }}</span>{% if not forloop.last %}, {% endif %}
{% endfor %}
(Ed.:Pokud získáváte objekt „'QuerySet“ nemá atribut 'prefetch_related'“, znamená to, že používáte verzi Django nižší než 1.4, kde prefetch_related není k dispozici.)