Это способ проверки полей модели 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)