在这种情况下,我想通过序列化器删除保存的模型:
class SomeView(APIView):
...
def post(self, request, context):
serializer = MySerializer(data = request.data)
# I need to save the model since I need the file field in the following processings
if serializer.is_valid():
serializer.save()
try:
...
except:
# I need to delete the model in case of exception
serializer.delete()
但是似乎不存在通过其序列化程序删除保存的模型的方法,因为我收到了此错误AttributeError: 'VideoSerializer' object has no attribute 'delete'
答案 0 :(得分:1)
serializer.save()
返回保存的对象。
instance = None
if serializer.is_valid():
instance = serializer.save()
try:
...
except:
instance.delete()
那应该删除正在保存的对象。