Esta é a maneira de validar os campos do modelo do Django?

Pelo que entendi, quando alguém cria um aplicativo Django, os dados são validados pelo formulário antes de serem inseridos em uma instância de modelo que é gravada no banco de dados. Mas se eu quiser criar uma camada adicional de proteção na camada do modelo de dados, é o que eu fiz abaixo da atual "melhor prática"? Estou tentando garantir que o nome de um revisor não possa ser omitido nem deixado em branco. Devo estar colocando qualquer validação personalizada no método 'clean' como fiz aqui e, em seguida, tenho 'save' chamada 'full_clean', que chama de 'clean'? Se não, qual é o método preferido? Obrigado.

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)

questionAnswers(3)

yourAnswerToTheQuestion