我有一个ChoiceField
,现在当我需要它的标签(label)时,该怎么做呢?
class ContactForm(forms.Form):
reason = forms.ChoiceField(choices=[("feature", "A feature"),
("order", "An order")],
widget=forms.RadioSelect)
form.cleaned_data["reason"]
只给我feature
或order
值或类似的内容。
get_FOO_display
适用于django.db.models.ChoiceField
而不是django.forms.ChoiceField
。我认为截至Django 1.5目前,Andrés提供的回答是最好的解决方案。 - supervacuodict
而不是模型(使用FOO.objects.values()
),则可以进行微小的调整。@shacker的答案仅适用于完整的模型。 - Eduard Lucafeature
和order
视为值,而将A feature
和An order
视为标签。来源 - Advena