Django rest framework как удалить модель через ее сериализатор - PullRequest
0 голосов
/ 15 сентября 2018

У меня есть такой сценарий, когда я хочу удалить сохраненную модель через ее сериализатор:

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'

1 Ответ

0 голосов
/ 16 сентября 2018

serializer.save() возвращает сохраненный объект.

instance = None
if serializer.is_valid():
  instance = serializer.save()
try:
  ...
except:
  instance.delete()

Это должно удалить сохраняемый объект.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...