2016-10-21 28 views
-1

我有了類型的控件一個的ModelForm選擇如何呈現模板中選定選項的文本?

class MyModelForm(ModelForm): 
    ... 
    widgets = { 
     'my_field': Select(
      choices=[('1', 'Choice 1')] 
     ), 
    } 

在我看來,我檢索已經存儲的模型,並通過形式爲my_form到模板:

<div>{{ my_form.my_field.value }}</div> 

正如預期的那樣,這輸出:

1 

我怎樣才能得到文本'選擇1'呢?

+1

[Django:Display Choice Value]的可能重複(http://stackoverflow.com/questions/4320679/django-display-choice-value) – arogachev

+0

@arogachev是不一樣的。 – levi

回答

0

雖然不是完全相同的副本,arogachev's duplicate suggestion沒有幫助我意識到我應該設置在Modelchoices屬性的領域,而不是ModelForm的部件:

class MyModel(Model): 
    my_field = models.CharField(max_length=50, choices=[ 
     ('1', 'Choice 1') 
    ]) 

這樣一來,我可以做到這一點:

<div>{{ my_form.instance.get_my_field_display }}</div> 

,輸出

Choice 1 

謝謝!

+0

是的,確切地說,您需要將'choices'設置爲字段參數。 – arogachev

+0

正確,只是編輯了我的答案 – damores

相關問題