を与えられている場合はDjangoのBooleanFieldは私がこのモデルの持つポストに値を返さない: -デフォルトは
class ModelA(models.Model):
billing_same_as_mailing = models.BooleanField(default=True, label='...')
そして、このフォーム: -
class ModelAForm(forms.ModelForm):
class Meta:
model = ModelA
fields = ['billing_same_as_mailing']
そして、私のテンプレートで私は、フィールドを試してみましたが。 - {{ form.billing_same_as_mailing }}
私が投稿するとき、billing_same_as_mailingの値は、cleaned_dataでは常にfalseです。 しかし、モデルでBooleanFieldのデフォルト値をFalseに設定すると、すべて正常に動作します。
今、私は、ブラウザ上のチェックボックス要素を検査する場合、これは私が得るものです: - デフォルト=偽の場合: - デフォルト=真で
<input class="" id="billing_same_as_mailing" name="billing_same_as_mailing" type="checkbox">
: -
<input checked="checked" class="" id="id_billing_same_as_mailing" name="billing_same_as_mailing" type="checkbox" value="">
なぜこれが起こっていますか?
レンダリングされたHTMLは正常です。私は問題があなたが 'cleaned_data'の値をチェック/使用する方法であると思います。動作しないコードを表示してください。 – solarissmoke
def form_valid(self、form): print form.cleaned_data これは、billing_same_as_mailingの値がFalse –
の印刷フォームであることを示しています。cleaned_data ['billing_same_as_mailing'] も虚偽を返します –