Почему в поле выбора отображаются ключи вместо значений в наборе запросов django?

У меня есть поле выбора в моих моделях.py

модели.py

STATUS = (
    ('closed_issue', 'Closed Issue'),
    ('open_ssue', 'Open Issue'),
    ('pending', 'Pending'),
)

class Issue(models.Model):
    name = models.CharField(max_length=45)
    status = models.CharField(max_length=50, choices=STATUS)

просмотры.py

def Issues(resuest):
    issues = Issue.objects.all()

шаблон

{% for issue in issues %}
     {{ issue.status }}
{% endfor %}

вывод

закрытый_вопрос открытый_вопрос

Он отображает ключи поля выбора вместо значений

Я хочу, чтобы значения отображались в шаблоне. Есть ли способ получить значения вместо ключей?

Спасибо за любую помощь.


person Anusha Prasanth    schedule 24.03.2017    source источник
comment
См. stackoverflow.com/questions/4320679/django-display-choice-value и get_FOO_display   -  person JamesO    schedule 24.03.2017


Ответы (1)


Конечно есть способ:

{{ issue.get_status_display }}

Чтобы получить значения STATUSes, вы должны использовать соглашение об именах get_<field_name>_display(). Подробнее об этом здесь .

person nik_m    schedule 24.03.2017
comment
Также у меня есть еще одно сомнение. Что делать, если я хочу того же, на мой взгляд, например, `для проблемы в задачах: print(issue.status)` - person Anusha Prasanth; 24.03.2017
comment
Вы должны сделать то же самое, т.е. for issue in issues: print(issue.get_status_display()). - person nik_m; 31.03.2017