required of BooleanField
30分くらいはまってしまったよ・・・。
formsでBooleanFieldを指定し、チェックボックスを配置してみると、「この項目は必須だぜ」とValidationでエラーとなる。なぜ?
暫くの間、色々と試した挙句、ドキュメントを参照。
BooleanField
http://docs.djangoproject.com/en/dev/ref/forms/fields/#booleanfield
class BooleanField(**kwargs)
* Default widget: CheckboxInput
* Empty value: False
* Normalizes to: A Python True or False value.
* Validates that the check box is checked (i.e. the value is True) if the field has required=True.
* Error message keys: required
required=True.の場合、チェックボックスがチェックされているかをチェックします・・・だと?
チェックボックスの必須ってそういうもんなのかなぁ・・・。状況としては「使用条件云々に同意します」って感じのチェックボックスがあり、チェックしないと進めない、そんな状況でしょうか。でも、デフォルトが必須というのはなんか微妙。他のFieldが基本的にデフォルトがrequired=Trueだから仕方ないのだろうけど。
ちなみにmodelの場合、required=Trueはtrueだけを許容するって意味じゃない(当然)。また、forms.ModelFormを使う場合は対応するFieldはrequired=Falseになる模様。なんだかなー。