Это способ проверки полей модели Django?

Насколько я понимаю, когда создается приложение Django, данные проверяются формой, прежде чем они вставляются в экземпляр модели, который затем записывается в базу данных. Но если я хочу создать дополнительный уровень защиты на уровне модели данных, то, что я сделал, ниже нынешней «лучшей практики»? Я пытаюсь сделать так, чтобы имя рецензента не пропускалось и не оставлялось пустым. Должен ли я помещать какую-либо пользовательскую проверку в метод «clean», как я это сделал здесь, и затем вызывать «save», вызывая «full_clean», который вызывает «clean»? Если нет, какой метод предпочтительнее? Спасибо.

class Reviewer(models.Model):
    name = models.CharField(max_length=128, default=None)

    def clean(self, *args, **kwargs):
        if self.name == '':
            raise ValidationError('Reviewer name cannot be blank')
        super(Reviewer, self).clean(*args, **kwargs)

    def full_clean(self, *args, **kwargs):
        return self.clean(*args, **kwargs)

    def save(self, *args, **kwargs):
        self.full_clean()
        super(Reviewer, self).save(*args, **kwargs)

Ответы на вопрос(3)

Ваш ответ на вопрос