booleanフィールドにyes / noを選択しようとしています。デフォルトのウィジェットはcheckboxinputですが、Selectを使ってデフォルトのウィジェットをオーバーライドすると、次のようになります:
NameError: Select is not defined
booleanフィールドのブール値に相関させるためにYes / Noを設定する必要があるため、これがどのように行われるべきかわからないためです。
モデル:
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は4私は見つけた(とDjango 1.9.6でテストした) この要点。それはトリックを行う必要があります:
from django import forms
class Form(forms.Form):
field = forms.TypedChoiceField(coerce=lambda x: x =="True",
choices=((False, "No"), (True, "Yes")))