Възможно е да използвате prefetch_related
за да извлечете етикетите, но трябва да заобиколите свойството 'tags', тъй като - както казва jdi - това е персонализиран мениджър, а не истинска връзка. Вместо това можете да направите:
actions = Action.objects.select_related('reoccurance').filter(complete=False)\
.prefetch_related('tagged_items__tag')
За съжаление, action.tags.all
във вашия шаблонен код няма да използва предварителното извличане и в крайна сметка ще направи своя собствена заявка - така че трябва да предприемете доста хакерската стъпка да заобиколите и мениджъра на 'tags' там:
{% for tagged_item in action.tagged_items.all %}
<span>{{ tagged_item.tag }}</span>{% if not forloop.last %}, {% endif %}
{% endfor %}
(Редактиране:ако получавате „обектът „QuerySet“ няма атрибут „prefetch_related““, това предполага, че сте на версия на Django под 1.4, където prefetch_related не е наличен.)