即使该字段不为空,“此字段也不能为空”?

时间:2020-02-12 15:45:33

标签: python django

models.py:

class Test(PolymorphicModel):
    title = models.CharField(max_length=300)

forms.py:

class RestaurantForm(forms.ModelForm):
    class Meta:
        model = Test
        fields = [
            'title',
        ]
def clean_title(self, *args, **kwargs):
    title = self.cleaned_data.get("title")
    if len(title) < 3:
        raise forms.ValidationError("Please, enter at least 3 symbols!")

好吧,当尝试提交带有文本的表单时,例如“ aa”,它显示错误“请输入至少3个符号!” ,它可以正常工作,但是添加3个以上的符号时返回我该字段不能为空,该字段来自Model,因为没有blank=True,但字段不为空,我很困惑。

1 个答案:

答案 0 :(得分:0)

django的asyncio-throttle方法期望您返回要使用的清除值,在您的情况下为None。 另外,更好的方法是使用clean_xxx而不引发ValidationError。

您的代码应如下所示:

self.add_error