Wagtail 未正确显示 ValidationError
Wagtail not shows ValidationError correctly
我对 wagtail.core.models.Page
后代进行异或验证:
def save(self, *args, **kwargs):
if self.video_playlist is not None and self.gallery is not None:
raise ValidationError(_("Only gallery or only video playlist must be filled"))
elif self.video_playlist is None and self.gallery is None:
raise ValidationError(_("Only gallery or only video playlist must be filled"))
super(OkoPage, self).save(*args, **kwargs)
但不是红色突出显示鹡鸰returns 400 错误。
怎么做才对?
您应该在模型的 clean
方法中执行此验证,而不是在 save
中。这样,ValidationError
将被 Django 的表单处理逻辑捕获并转换为表单上的错误消息。
save
方法仅在表单处理完成后调用,因此此时抛出 ValidationError
已为时已晚,无法很好地处理它。
我对 wagtail.core.models.Page
后代进行异或验证:
def save(self, *args, **kwargs):
if self.video_playlist is not None and self.gallery is not None:
raise ValidationError(_("Only gallery or only video playlist must be filled"))
elif self.video_playlist is None and self.gallery is None:
raise ValidationError(_("Only gallery or only video playlist must be filled"))
super(OkoPage, self).save(*args, **kwargs)
但不是红色突出显示鹡鸰returns 400 错误。
您应该在模型的 clean
方法中执行此验证,而不是在 save
中。这样,ValidationError
将被 Django 的表单处理逻辑捕获并转换为表单上的错误消息。
save
方法仅在表单处理完成后调用,因此此时抛出 ValidationError
已为时已晚,无法很好地处理它。