Добрый день.
Есть модель с полями обязательными и необязательными.
Переопределяю метод clean() чтобы добавить некоторые необычные проверки на поля и на их совокупности. Но проверки предполагают что поля заполнены корректно с точки зрения встроенных проверок, для этого вызываю super метода clean() модели. Но в итоге получаю что эти проверки вызываются даже если обязательные поля оставлены пустыми.
Как этого избежать?
Вот макет кода:
class RBPassenger(models.Model):
surname = models.CharField(max_length=53, verbose_name=u'Фамилия')
name = models.CharField(max_length=53, verbose_name=u'Имя и отчество')
class Meta:
verbose_name = u'Пассажир'
verbose_name_plural = u'Пассажиры'
def full_clean(self, *args, **kwargs):
super(RBPassenger, self).full_clean(*args, **kwargs)
errors = {}
if u'Ъ' in self.surname or u'Ь' == self.surname[0]:
errors['surname']=u'Фамилия не должна начинаться с Ь или Ъ знака.'
И вот если в модельной форме пользователь не введёт имя, то вс равно вызывается проверка на мягкий и твёрдый знак. Как этого избежать?