#28502: Select widget doesn't accept non-string as value
-------------------------------------+-------------------------------------
               Reporter:  Nguyễn     |          Owner:  nobody
  Hồng Quân                          |
                   Type:  Bug        |         Status:  new
              Component:  Forms      |        Version:  1.11
               Severity:  Normal     |       Keywords:  widget filter
           Triage Stage:             |      Has patch:  0
  Unreviewed                         |
    Needs documentation:  0          |    Needs tests:  0
Patch needs improvement:  0          |  Easy pickings:  0
                  UI/UX:  0          |
-------------------------------------+-------------------------------------
 I made a model, with `age_bracket` field, which accepts values from
 choices like this:

 {{{#!python
 AGE_BRACKET = (
     # The value in the first column will be saved in Postgres Range field,
     # so the upper boundary is not counted, i.e for (18, 25) range, the
 value 25
     # is not counted.
     ((None, 18), _('Under 18')),
     ((18, 25), _('18 - 24')),
     ((25, 36), _('25 - 35')),
     ((36, 46), _('36 - 45')),
     ((46, 56), _('46 - 55')),
     ((46, 66), _('56 - 65')),
     ((66, None), _('Above 65')),
 )
 }}}

 However, when being rendered as form, all values become empty string. This
 happens since Django 1.11. In Django 1.10, it was OK.
 I found the cause is the widget template ''select_option.html''

 {{{#!django
 <option value="{{ widget.value|stringformat:'s' }}"{% include
 "django/forms/widgets/attrs.html" %}>{{ widget.label }}</option>
 }}}

 The `stringformat` filter turns every non-string value to empty string.
 My suggestion is that, update  `stringformat` so that it returns
 `str(value)` if value is not a string. Is it right way to do?

-- 
Ticket URL: <https://code.djangoproject.com/ticket/28502>
Django <https://code.djangoproject.com/>
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/051.caf0118796aa8e295092f21e6b1fc645%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to