为了账号安全,请及时绑定邮箱和手机立即绑定

如何检查是否引发了 Django ValidationError 子类?

如何检查是否引发了 Django ValidationError 子类?

肥皂起泡泡 2021-08-24 17:22:31
假设我有一个 Django 模型:class MyDjangoModel(models.Model):    name = models.CharField(max_length=200)    attribute = models.IntegerField()    class CustomValidationError(ValidationError):        pass    def clean(self):        if self.attribute < 1:            raise CustomValidationError("Attribute should be > 1!")        if len(self.name) > 20:            raise ValidationError("Name too long!")我想创建模型实例并验证它:inst = MyDjangoModel(name="Foo", attribute=0)try:    inst.full_clean()except CustomValidationError:    print("Hello!")except ValidationError:    print("Bye!")但是上面的代码永远不会打印,"Hello!"因为full_cleanmethod 只引发ValidationError.任何人都可以建议,如何调用full_clean和检查是否ValidationError引发了子类异常?
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 176 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信