我想根据我的 Django 模型中的一个字段提出一个 ValidationError,而不是将相应的文件作为 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 的文档中,我发现保存模型时不会自动应用验证器。它把我重定向到这个页面,但我真的不明白如何应用这些。任何想法?