Как я могу сохранить запрос из шаблона Django, чтобы он был сформирован только один раз? - PullRequest
0 голосов
/ 30 декабря 2010

Есть ли способ сохранить запрос только из шаблона, чтобы он выполнялся только один раз?

У меня есть следующий шаблон:

{% for list in lists %}
<li>
  {{ list }} <span>{{ list.num_items }} item{{ list.num_items|pluralize }}</span>
</li>
{% endfor %}

И num_items - это следующий метод в модели списка:

    def num_items(self):
      return self.item_set.all().count()

Это запрашивает num_items дважды. Можно ли сделать это только один раз?

Ответы [ 2 ]

3 голосов
/ 30 декабря 2010

Используйте с .Из документов:

{% with business.employees.count as total %}
    {{ total }} employee{{ total|pluralize }}
{% endwith %}
0 голосов
/ 30 декабря 2010

Вместо использования метода используйте свойство, которое кэширует результат.

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