2017-03-24 22 views
0

我有一个选择字段在我的models.py为什么选择字段在django queryset中显示键而不是值?

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

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

我想在模板中显示的值。有没有办法获得值而不是键?

感谢您的任何帮助。

+0

见http://stackoverflow.com/questions/4320679/django-display-choice-value和get_FOO_display – JamesO

回答

3

当然还有一个办法:

{{ issue.get_status_display }}

为了获得STATUS ES的值,你必须使用一个名称约定get_<field_name>_display()。更多关于这个here

+0

感谢@nik_m,该工程 –

+0

另外我有一个更怀疑怎么做,如果我想在同样的事情我例如'查看问题:print(issue.status)' –

+0

你应该这样做,例如'在问题中出现问题:print(issue.get_status_display())''。 –

相关问题