Added some test views for filtering data

This commit is contained in:
benjamyn 2020-10-21 17:55:33 -04:00
parent 7b15bb75b1
commit b2b1d15bc2

View File

@ -1,5 +1,6 @@
import datetime
from django.shortcuts import get_object_or_404, render from django.shortcuts import get_object_or_404, render
from django.http import HttpResponseRedirect from django.http import HttpResponseRedirect, JsonResponse
from django.views import generic from django.views import generic
from django.urls import reverse from django.urls import reverse
from django.utils import timezone from django.utils import timezone
@ -18,14 +19,21 @@ class MigrationViewSet(viewsets.ModelViewSet):
@action(detail=False, methods=['GET']) @action(detail=False, methods=['GET'])
def upcoming(self, request, *args, **kwargs): def upcoming(self, request, *args, **kwargs):
response = {"message": "this will be upcoming migrations"} queryset = MigrationSerializer(
return Response(response, status=status.HTTP_200_OK) Migration.objects.filter(booked_time=timezone.now(), migration_status="Booked"), many=True)
return Response(queryset.data, status=status.HTTP_200_OK)
@action(detail=False, methods=['GET']) @action(detail=False, methods=['GET'])
def missed(self, request, *args, **kwargs): def missed(self, request, *args, **kwargs):
response = {"message": str(Migration.objects.filter( queryset = MigrationSerializer(
booked_time__gte=timezone.now()).order_by('-booked_time')[:5])} Migration.objects.filter(booked_time__gte=timezone.now() + datetime.timedelta(1), migration_status="Booked"), many=True)
return Response(response, status=status.HTTP_200_OK) return Response(queryset.data, status=status.HTTP_200_OK)
@action(detail=False, methods=['GET'])
def booked(self, request, *args, **kwargs):
queryset = MigrationSerializer(Migration.objects.filter(
migration_status="booked",), many=True)
return Response(queryset.data, status=status.HTTP_200_OK)
class IndexView(generic.ListView): class IndexView(generic.ListView):