Я хотел бы поднять ValidationError на основе одного из полей в моей модели Django, не имея соответствующего файла как части ModelForm. Погуглив немного, я нашел концепцию валидаторов для моделей. Итак, я попытался сделать следующее:
def minimumDuration(value):
if value == 0:
raise ValidationError("Minimum value accepted is 1 second!")
class PlaylistItem(models.Model):
position = models.IntegerField(null=False)
content = models.ForeignKey(Content, null=True, on_delete=models.SET_NULL)
item_duration = models.IntegerField(validators = [minimumDuration], default = 5, null=True, blank=True)
playlist = models.ForeignKey(Playlist, null=True, on_delete=models.CASCADE)
Однако при вводе 0 в соответствующем поле ошибка не появляется. Из документации Django я узнал, что валидаторы не применяются автоматически при сохранении модели. Он перенаправил меня на эту страницу, но я не совсем понимаю, как их применять. Есть идеи?