def ticket_list(request): if request.method == 'GET': tickets = Ticket.objects.all() title = request.GET.get('title', None) if title is not None: tickets = tickets.filter(title__icontains=title) tickets_serializer = TicketSerializer(tickets, many=True) return JsonResponse(tickets_serializer.data, safe=False) elif request.method == 'POST': ticket_data = JSONParser().parse(request) tickets_serializer = TicketSerializer(data=ticket_data) if tickets_serializer.is_valid(): tickets_serializer.save() return JsonResponse(tickets_serializer.data, status=status.HTTP_201_CREATED) return JsonResponse(tickets_serializer.errors, status=status.HTTP_400_BAD_REQUEST) elif request.method == 'DELETE': count = Ticket.objects.all().delete() return JsonResponse( { 'message': '{} Tickets were sucessfully deleted'.format( count[0]) }, status=status.HTTP_204_NO_CONTENT)
def ticket_detail(request, pk): try: ticket = Ticket.objects.get(pk=pk) if request.method == 'GET': ticket_serializer = TicketSerializer(ticket) return JsonResponse(ticket_serializer.data) elif request.method == 'PUT': ticket_data = JSONParser().parse(request) ticket_serializer = TicketSerializer(ticket, data=ticket_data) if ticket_serializer.is_valid(): ticket_serializer.save() return JsonResponse(ticket_serializer.data) return JsonResponse(ticket_serializer.errors, status=status.HTTP_400_BAD_REQUEST) elif request.method == 'DELETE': ticket.delete() return JsonResponse({'message': 'Ticket was sucessfully deleted!'}) except Ticket.DoesNotExist: return JsonResponse({'message': 'The ticket does not exist'}, status=status.HTTP_404_NOT_FOUND) return