django rest框架。raise_exception =真实

Ale*_*lla 8 django django-rest-framework

我想知道什么时候应该使用serializer.is_valid(raise_exception=True)?如果我没有实现任何自定义验证,是否需要使用该raise_exeption=True标志?如果我的API没有提高怎么办ValidationErrors,这是不好的做法吗?如果是,那么为什么是默认值raise_exception=False?我只是想知道是否应该将其设置为True。谢谢你的建议。

Ram*_*ast 11

通常,在验证序列化程序时,我们会执行以下操作

if not serializer.is_valid(): raise ValidationError(serializer.errors) restapi捕获此异常,并以列表或字典的形式返回400错误以及所提供的错误。编写上面代码的一种更干净的方法是

serializer.is_valid(raise_exception=True)

除非您需要在代码中处理序列化程序的错误,而不是简单地告诉用户他的输入错误,否则80%的时间您将要使用raise_exception = True。