你如何使 ChoiceField
的标签表现得像 ModelChoiceField
?有没有办法设置 empty_label
,或者至少显示一个空白字段?
表格.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 - 在我的选择中定义 ('', '---------'),
之后,仍然默认为列表中的第一项,而不是 ('', '---------'),
选择。
要点- 尝试使用 EmptyChoiceField
在此处定义,但无法使用 Django 1.4。
但是这些都不适合我..你会如何解决这个问题?谢谢你的想法!
原文由 Nick B 发布,翻译遵循 CC BY-SA 4.0 许可协议
这是我使用的解决方案: