Сочетание перегруппировки с get_foo_display в шаблонах Django - PullRequest
7 голосов
/ 30 апреля 2010

Я использую тег шаблона regroup , чтобы сгруппировать выходные данные набора запросов в поле Choices. В модели:

  RESOURCE_TYPES = (
      ('tut','External tutorial'),
      ('read','Additional reading'),
      ('org','Company or organization'),                         
  )

restype = models.CharField('Resource type',max_length=6,choices=RESOURCE_TYPES)

в представлении:

resources = Resource.objects.filter(tutorial=tutorial)

в шаблоне:

{% regroup resources by restype as resource_list %}
{% for type in resource_list %}
<h3>{{type.grouper}}</h3>

Поэтому type.grouper отображает на странице как "tut" или "org", а не как длинную форму. Обычно вы используете синтаксис get_foo_display для получения значения выбора, а не ключа. Но значение не представляется доступным после прохождения перегруппировки. Я не могу найти способ использовать get_foo_display на {{type.grouper}}.

Это имеет смысл, когда вы думаете об этом, но какой обходной путь? Спасибо.

1 Ответ

13 голосов
/ 30 апреля 2010

Что произойдет, если вы сделаете

{% regroup resources by get_restype_display as resource_list %}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...