Django - ChoiceField cleaned_data gets String instead of Integer

3.5k Views Asked by At

I have a form field called 'units' like this:

    units = forms.ChoiceField(choices=[(x, x) for x in range(1, 11)], help_text = 'Units: ')

When I do form.cleaned_data['units'] I get a String instead of an Integer. How can I change the field to get the Integer?

1

There are 1 best solutions below

1
On BEST ANSWER

I finally found the Field type TypedChoiceField , that will return Integer if coerced = Int.

    units = forms.TypedChoiceField(choices=[(x, x) for x in range(1, 11)], coerce=int, help_text = 'Units: ')