@MaxEpt

Как в django удалить записи после запроса?

Всем привет, как в django, после того как получил данные, удалить их из таблицы ?
Если делаю как в коде(закоментированная часть) то возвращается пустой массив.
class CrmReceiptView(APIView):
    def get(self, request):
        if 'kkt_id' not in request.GET:
            return Response({'message': 'Не указан ID кассы'}, status=status.HTTP_400_BAD_REQUEST)
        else:
            receipts = CrmReceipt.objects.filter(kkt=CrmKKT.objects.get(id=request.GET['kkt_id']))
            serializer = CrmReceiptSerializer(receipts, many=True)
            #receipts.delete()            
            return Response(serializer.data)
  • Вопрос задан
  • 347 просмотров
Решения вопроса 1
alternativshik
@alternativshik
а что вы там ожидаете увидеть, если вы их удалили?
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
@MAGistr_MTM
Учусь программировать
Запишите serializer.data в переменную и тогда удалайте receipts
Ответ написан
Комментировать
JRazor
@JRazor
Senior StarkOverFlow Programmer
CrmReceipt.objects.filter(kkt=CrmKKT.objects.get(id=request.GET['kkt_id']))

пишется как
CrmReceipt.objects.filter(kkt_id=request.GET['kkt_id'])

На один запрос меньше. Но это так, к слову.
Ответ написан
Комментировать
@mrxor
Simple is better than complex
receipts = list(CrmReceipt.objects.filter(kkt_id=request.GET['kkt_id']))

Заставит джангу сходить в базу до удаления и вы получите ожидаемый результат
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы