2017-03-24 11 views
0

私はmodels.pyに選択肢フィールドを持つdjangoクエリーセットの値の代わりにキーを表示する理由

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 }}

名前規則get_<field_name>_display()を使用する必要がありますSTATUS ESの値を取得するために。この詳細についてはhereをご覧ください。

+0

感謝@nik_mを参照してください。私は私の中で同じことをしたい場合、私は何をするかをもう一つの疑問を持っている。また –

+0

を動作します例えば ​​'Issue in issue:print(issue.status)'の表示 –

+0

'issue for issue:print(issue.get_status_display()) 'のように同じことをする必要があります。 –

関連する問題