【发布时间】:2013-01-10 13:18:05
【问题描述】:
如何让ChoiceField 的标签表现得像ModelChoiceField?有没有办法设置empty_label,或者至少显示一个空白字段?
Forms.py:
thing = forms.ModelChoiceField(queryset=Thing.objects.all(), empty_label='Label')
color = forms.ChoiceField(choices=COLORS)
year = forms.ChoiceField(choices=YEAR_CHOICES)
我已经尝试过这里建议的解决方案:
Stack Overflow Q - 设置 CHOICES = [('','All')] + CHOICES 导致内部服务器错误。
Stack Overflow Q2 - 在我的选择中定义 ('', '---------'), 后,仍然默认为列表中的第一项,而不是 ('', '---------'), 选择。
Gist - 尝试使用此处定义的 EmptyChoiceField,但无法使用 Django 1.4。
但是这些都不适合我。你会如何解决这个问题?感谢您的想法!
【问题讨论】:
-
你找到解决办法了吗?
-
嗨@Amyth,看看我发布的答案。