Django - ChoiceField cleaning_data获取String而不是Integer

时间:2017-12-01 19:17:12

标签: django forms integer choicefield cleaned-data

我有一个名为' units'的表单字段。像这样:

<CheckBox
   android:id="@+id/check_box"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:onClick="itemClicked" />

当我 units = forms.ChoiceField(choices=[(x, x) for x in range(1, 11)], help_text = 'Units: ') 时,我得到一个字符串而不是一个整数。 如何更改字段以获取整数?

2 个答案:

答案 0 :(得分:3)

我终于找到了字段类型TypedChoiceField,如果被强制= Int,它将返回Integer。

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

答案 1 :(得分:0)

尝试使用IntegerField而不是ChoiceField。