Django将布尔值和数字形式验证为字符串

时间:2017-04-26 22:00:26

标签: python django django-forms django-validation

我有一个如下所示的表格,

class UserForm(forms.ModelForm):
    name = forms.CharField(max_length=255)
    tagline = forms.CharField(max_length=255)
    privacy = forms.CharField(max_length=10)
    description = forms.CharField(max_length=2000)
    home_id = forms.CharField(max_length=32, required=False)

    class Meta:
        model = User
        fields = ['name', 'tagline', 'privacy', 'description']

当我传递任何字段作为布尔值或数值(例如,name = True)时,表单验证它form.is_valid返回True,而如果我跳过一个字段(比如name = None),表单表示表单是无效的。该表单有效,但不适用于任何字段的布尔值。

表单还可以正确验证浮点数,列表和字符串。我究竟做错了什么?对form.Form没有提及模型的情况也是如此。

0 个答案:

没有答案