假設我有一個 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引發了子類異常?
添加回答
舉報
0/150
提交
取消