Django BooleanField作为下拉列表

Joh*_*ith 9 python django

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

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

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

attending = forms.BooleanField(required=True)
Run Code Online (Sandbox Code Playgroud)

Mic*_*att 21

我相信可以解决您的问题的解决方案是这样的:

TRUE_FALSE_CHOICES = (
    (True, 'Yes'),
    (False, 'No')
)

boolfield = forms.ChoiceField(choices = TRUE_FALSE_CHOICES, label="Some Label", 
                              initial='', widget=forms.Select(), required=True)
Run Code Online (Sandbox Code Playgroud)

可能不准确,但它应该让你指向正确的方向.


Tho*_*ner 10

您可以做的是在models.py中向BooleanField添加"choices"关键字

class MyModel(models.Model):
    BOOL_CHOICES = ((True, 'Yes'), (False, 'No'))

    attending = models.BooleanField(choices=BOOL_CHOICES)
Run Code Online (Sandbox Code Playgroud)


Luc*_*s B 5

带模型

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)
        }
Run Code Online (Sandbox Code Playgroud)