Django BooleanField作为下拉列表

时间:2016-09-08 18:38:18

标签: python django

有没有办法让Django BooleanField在表单中下拉?

现在它呈现为单选按钮。是否可以选择下拉菜单:'是','否' ?

目前我对此字段的表单定义是:

attending = forms.BooleanField(required=True)

3 个答案:

答案 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)
        }