我有一个布尔字段,
is_operable = BooleanField(widget=RadioSelect(choices=YES_OR_NO, renderer=InlineRadioFieldRenderer), required=False, initial=True)
哪个呈现为两个单选按钮(是或否),但我希望它是必需的。问题是,如果我将其更改为required=True
,则在获得False
时会抛出验证错误。
有解决方法吗?
YES_OR_NO = (
(True, 'Yes'),
(False, 'No')
)
答案 0 :(得分:3)
将其保留为required=False
并编写一个自定义clean_is_operable
方法,检查您是否拥有所需内容,否则会抛出ValidationError等
答案 1 :(得分:3)
我建议使用TypedChoiceField
将选项YES_OR_NO
强制转换为布尔值。查看文档:
http://docs.djangoproject.com/en/1.2/ref/forms/fields/#django.forms.TypedChoiceField