Django模型构成如何输出从Booleanfield中选择Yes / No

时间:2016-01-28 15:05:55

标签: django django-forms

我正在尝试在booleanfield上选择是/否。默认小部件是checkboxinput。但是,如果我使用Select I覆盖默认小部件,则获得: NameError: Select is not defined

我认为这可能是因为我需要设置Yes / No来关联booleanfield中的布尔值,但不确定应该如何做?

型号:

class User(models.Model):
    online_account = models.BooleanField()

形式:

class AccountForm(forms.ModelForm):

    class Meta:
        model = User
        fields = ('online_account')
        labels = {
            'online_account': 'Do you have an online account',
        }
        widgets = {'online_account': Select()}

1 个答案:

答案 0 :(得分:5)

我发现(并使用Django 1.9.6测试)this gist。它应该做的伎俩:

from django import forms

class Form(forms.Form):
    field = forms.TypedChoiceField(coerce=lambda x: x =='True', 
                                   choices=((False, 'No'), (True, 'Yes')))