为什么选择字段在django queryset中显示键而不是值?

时间:2017-03-24 10:19:02

标签: python django choicefield

我的models.py

中有一个选择字段

models.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)

views.py

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

模板

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

输出

closed_issue open_issue

它显示选择字段的键而不是值

我希望值显示在模板中。有没有办法获取值而不是键?

感谢您的帮助。

1 个答案:

答案 0 :(得分:5)

当然有一种方法:

{{ issue.get_status_display }}

要获取STATUS es的值,您必须使用名称约定get_<field_name>_display()。有关here的更多信息。