Django REST framework serializers 中的
save()
方法默认会在数据库中提交修改。如果你希望在调用
save()
方法时不提交修改,可以将
commit
参数设置为
False
。
serializer = MySerializer(data=request.data)
serializer.is_valid(raise_exception=True)
serializer.save(commit=False)
# Do some custom logic here
serializer.save()
这样就可以在第一次save()中不提交数据库,可以在这之后进行自定义操作,最后再进行提交。