使用元组时ChoiceField不会显示空标签

使用元组时ChoiceField不会显示空标签,第1张

使用元组时ChoiceField不会显示空标签

我找到了一种解决方案,该解决方案可以按我想要的方式工作,而不会违反DRY原理。不是很干净,但是我想必须这样做。

根据文档,选择不必是元组:

最后,请注意,选择可以是任何可迭代的对象-
不一定是列表或元组。这使您可以动态构造选择。但是,如果您发现黑客的选择是动态的,那么最好使用带有ForeignKey的正确数据库表。选择是针对不变的静态数据(如果有的话)。

因此,目前我要解决的方案是:

COMPETITION_TYPE_CHOICES = [     (1, 'Olympic Games'),     (2, 'ISU Championships'),     (3, 'Grand Prix Series'),]COMP_TYPE_CHOICES_AND_EMPTY = [('','All')] + COMPETITION_TYPE_CHOICES

接着:

class CompetitionSearchForm(forms.Form):    name = forms.CharField(required=False)    type = forms.ChoiceField(choices=COMP_TYPE_CHOICES_AND_EMPTY, required=False)

模型保持原样。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5642809.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存