Django在CreateAPIView重写pre_save时停止序列化保存

时间:2016-05-15 19:22:20

标签: django-views django-rest-framework

我在保存序列化数据之前根据序列化数据执行了一些验证,并在验证失败时停止保存。我正在使用在perform_create方法之前执行的pre_save,我能够进行验证,但我不知道如果这些验证失败,如何停止serializer.save()。

我可以根据要求提供任何其他细节。我想坚持使用CreateApiView,除非它完全是不可避免的。

1 个答案:

答案 0 :(得分:0)

您应该能够调用pre_save(),如果序列化程序中出现错误,则会引发异常并停止执行任何代码

如果您正在使用from rest_framework import exceptions raise exceptions.ParseError({"error":["Something went wrong"]}) 函数,则可以始终引发解析错误异常,在满足条件时触发:

tofile