#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.