Re: [Django] #27353: BooleanField raises ValidationError always for RadioSelect widget value False

2016-10-15 Thread Django
#27353: BooleanField raises ValidationError always for RadioSelect widget value
False
+--
 Reporter:  wbar|Owner:  nobody
 Type:  Bug |   Status:  closed
Component:  Forms   |  Version:  1.10
 Severity:  Normal  |   Resolution:  invalid
 Keywords:  | Triage Stage:  Unreviewed
Has patch:  0   |  Needs documentation:  0
  Needs tests:  0   |  Patch needs improvement:  0
Easy pickings:  0   |UI/UX:  0
+--
Changes (by Tim Graham):

 * status:  new => closed
 * resolution:   => invalid
 * needs_tests:   => 0
 * needs_better_patch:   => 0
 * needs_docs:   => 0
 * type:  Uncategorized => Bug


Comment:

 I don't think this is a bug. As
 [https://docs.djangoproject.com/en/stable/ref/forms/fields/#booleanfield
 the docs] say,

  Since all `Field` subclasses have `required=True` by default, the
 validation condition here is important. If you want to include a boolean
 in your form that can be either `True` or `False` (e.g. a checked or
 unchecked checkbox), you must remember to pass in `required=False` when
 creating the `BooleanField`.

 Maybe you want to use `TypedChoiceField` instead.

--
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-updates+unsubscr...@googlegroups.com.
To post to this group, send email to django-updates@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/062.6d1ae7475955bfba376bd09bd6bf4367%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.


[Django] #27353: BooleanField raises ValidationError always for RadioSelect widget value False

2016-10-15 Thread Django
#27353: BooleanField raises ValidationError always for RadioSelect widget value
False
---+
 Reporter:  wbar   |  Owner:  nobody
 Type:  Uncategorized  | Status:  new
Component:  Forms  |Version:  1.10
 Severity:  Normal |   Keywords:
 Triage Stage:  Unreviewed |  Has patch:  0
Easy pickings:  0  |  UI/UX:  0
---+
 **Model:**
 {{{
 class MyModel(models.Model):
 buggy_field = models.BooleanField(default=False
 }}}

 **Form:**
 {{{
 class MyForm(forms.ModelForm):
 buggy_field = forms.BooleanField(
 widget=forms.RadioSelect(choices=[(True, 'Tak'), (False, 'Nie')]),)
 }}}


 Buggy place because value is False here:
 **django.forms.fields.py+718:**
 {{{
 def validate(self, value):
 if not value and self.required:
 raise ValidationError(self.error_messages['required'],
 code='required')
 }}}

--
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-updates+unsubscr...@googlegroups.com.
To post to this group, send email to django-updates@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/047.12c477305be23ed9a20d130a04d32e97%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.