【发布时间】:2018-05-22 23:23:01
【问题描述】:
如果您查看 is_valid() 方法下的 try/except 块,我正在尝试检查对象是否存在,如果存在,则返回 202 错误。我的问题是我可以直接从序列化程序返回响应,还是需要引发特定异常然后在视图中处理异常?
class CreateJobSerializer(GenericSerializer):
class Meta:
model = Job
fields = ('name',)
validators = []
def is_valid(self, raise_exception=False):
if hasattr(self, 'initial_data'):
super(CreateJobSerializer, self).clean_ids()
try:
Job.objects.get(name=self.initial_data['name'])
return Response(serializer.errors, status=status.HTTP_202_ACCEPTED)
except:
return super().is_valid(raise_exception)
【问题讨论】:
标签: django django-rest-framework