Django - фильтрация RelatedManager _set в шаблоне?

У нас есть Django DetailView, где мы отображаем объект ( Site ) вместе со всеми связанные объекты ( Комнаты ).

Теперь в шаблоне мы могли бы просто перебрать набор RelatedManager:

{% for room in site.room_set.all %}
    do stuff
{% endfor %}

Однако проблема в том, что он подберет все связанные комнаты с сайтом - однако нам нужно чтобы несколько сузить этот набор другим атрибутом (назовем его год ) - и этот атрибут хранится в переменной сеанса Django.

В настоящее время мы просто используем Room.objects.filter (site = some_site, year = '2009') в коде представления, и это нормально.

Мой вопрос скорее из любопытства - есть ли способ использовать _set в шаблоне и при этом отфильтровать или сузить набор?

Не могли бы вы написать собственный диспетчер моделей для этого, так что _set будет когда-либо возвращать объекты только за текущий год? Или есть другой способ?

Ура, Виктор

5
задан victorhooi 2 November 2011 в 05:55
поделиться