Django clean_FIELDNAME () не вызывается - PullRequest
0 голосов
/ 23 февраля 2019

Мой пользовательский метод проверки не работает, и чтобы убедиться, что он даже вызван, я добавил к нему 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

Почему это так?

...