Фильтры шаблонов django: подсчет объектов - PullRequest
2 голосов
/ 31 января 2011

У меня есть 2 класса в models.py Region и Survey. Опрос имеет region_select=model.ForeignKey(region), а некоторые другие атрибуты и регион имеют name=models.CharField. Используя общие представления django, я составляю список элементов / регион, и я хотел бы иметь отфильтрованное количество этих элементов. Мой шаблон выглядит так:

<..>
    <ul>
        {% for Region in regions_list  %}
            <p><b>{{ Region }}</b> <i>(count: {{ ??? }} )</i><br>
            {% for Survey in object_list  %}
                {% if Survey.region_select = Region %}
                    <a href="{% url region-display Region.id %}">{{ Survey }}</a>
                {% endif %}
            </p>
            {% endfor %}
        {% endfor %}
    </ul>
<..>

region_list - это набор запросов Region.objects.all() то же самое со списком объектов (Survey.objects.all()) Пока я получаю идеальный список, хотя я хочу посчитать эти пункты отдельно для каждого региона. Я попытался object_list.filter(region_select=Region).count, но запись чего-либо для фильтра закончилась ошибкой шаблона, говорящей, что он не может разобрать то, что я даю фильтру. какие-либо предложения, что идет в ??? место? А как насчет пользовательских {{name | filter}} фильтров? опять же, мне просто нужно, чтобы он считал объекты ... о, я также попытался добавить метод с тем же Survey.objects.filter(region_select=Region).count, но в итоге он записал место и тип этих объектов (?!?).

* * 1012 P.S. его нельзя копировать / вставлять, поэтому при переписывании могли возникнуть простые ошибки.

1 Ответ

5 голосов
/ 31 января 2011

Попробуйте:

Region.survey_set.all.count
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...