2017-03-24 34 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())''。 –

相關問題