私はジャンゴ1.5.4を使用しています
これは、私が直面している問題の最小限の例です。
モデル:
#models.py
from django.db import models
class SampleModel(models.Model):
spam = models.BooleanField()
フォーム:
#forms.py
from django.forms import ModelForm
from .models import SampleModel
class SampleModelForm(ModelForm):
class Meta:
model = SampleModel
fields = ('spam', )
ジャンゴシェルから:
>>> data = {} #intentionally blank
>>> form = SampleModelForm(data)
>>> is_valid = form.is_valid() #is_valid is True
>>> form.save() # model instance is created with "spam" set to False by default.
フォームの検証が間違っていますか? form.is_valid
他のタイプのフィールドを正しく検証します。ドキュメントは、すべてのフィールドがデフォルトで必須であることを示していますが、ブール フィールド キーが存在しない状態でis_valid
返されます。True
ブール値フィールドが入力データに存在することを確認する必要があります。現在、フィールドが存在し、タイプが であるかどうかを手動で確認していますbool
。form.is_valid
他のモデルでも再利用できるように、このチェックをオーバーライドして追加する必要があると思いますか?