我正在使用Django ModelForm,其中我的模型包含一個BooleanField,並且與該BooleanField關聯的表單窗口小部件是一個RadioSelect窗口小部件。我希望RadioSelect小部件呈現不具有選項的選項,因此用戶必須明確地做出選擇,但如果表單驗證沒有做出選擇,則表單驗證將失敗。有沒有辦法做到這一點?使用RadioSelect窗體的Python/Django BooleanField模型默認爲空
models.py
myboolean = models.BooleanField(choices=YES_NO)
forms.py
class myModelForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super(myModelForm, self).__init__(*args, **kwargs)
self.fields['myboolean'].widget = forms.RadioSelect(choices=YES_NO)
謝謝安德烈。在看到您的解決方案後,我重新審視了我的情況,發現我的簡單示例刪除了一條重要信息。現場的ModelField覆蓋是干擾默認值的。我從這個問題中得知RadioSelect字段似乎有default = None。我有的重寫是將默認設置爲False。 (順便說一下,我使用了__init__函數,因爲我不想超過模型設置的任何默認值,比如標籤)。 – 2010-08-13 19:54:38
再次感謝您對此的幫助,對於這個不好的例子感到抱歉。我試圖將問題歸結爲核心問題,但錯過了一些信息。 – 2010-08-13 19:54:56