有没有办法让Django BooleanField在表单中下拉?
现在它呈现为单选按钮。是否可以选择下拉菜单:'是','否' ?
目前我对此字段的表单定义是:
attending = forms.BooleanField(required=True)
答案 0 :(得分:18)
我相信可以解决问题的解决方案就是这样:
TRUE_FALSE_CHOICES = (
(True, 'Yes'),
(False, 'No')
)
boolfield = forms.ChoiceField(choices = TRUE_FALSE_CHOICES, label="Some Label",
initial='', widget=forms.Select(), required=True)
可能不准确,但它应该让你指向正确的方向。
答案 1 :(得分:8)
您可以做的是在models.py
中向BooleanField添加“choices”关键字class MyModel(models.Model):
BOOL_CHOICES = ((True, 'Yes'), (False, 'No'))
attending = models.BooleanField(choices=BOOL_CHOICES)
答案 2 :(得分:1)
使用模型
TRUE_FALSE_CHOICES = (
(True, 'Yes'),
(False, 'No')
)
class MyModelForm(forms.ModelForm):
class Meta:
model = MyModel
fields = ('attending',)
widgets = {
'attending': forms.Select(choices=TRUE_FALSE_CHOICES)
}