Django clean_FIELDNAME()未调用

时间:2019-02-23 09:54:34

标签: python django django-models django-forms

我的自定义验证方法不起作用,为了确保它被调用,我在其中添加了sys.exit()。表单使用错误完成了保存并忽略了该方法,由于exit()无效,因此甚至没有被调用:

from django.conf import settings
from django import forms


class Category(MPTTModel):
    class Meta:
        verbose_name_plural = "Categories"

    name = models.CharField(max_length=100)

    def clean_name(self):
        import sys
        sys.exit()
        name = self.cleaned_data["name"]
        if settings.PK_PLACEHOLDER in name:
            raise forms.ValidationError(f"{settings.PK_PLACEHOLDER} "
                                          "is a reserved placeholder!")
        return name

那是为什么?

0 个答案:

没有答案