Jorge Cámara
Jorge Cámara

Reputation: 413

Django - ChoiceField cleaned_data gets String instead of Integer

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?

Upvotes: 9

Views: 3680

Answers (1)

Jorge Cámara
Jorge Cámara

Reputation: 413

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: ')

Upvotes: 20

Related Questions