diff --git a/sensorsafrica/api/v1/filters.py b/sensorsafrica/api/v1/filters.py new file mode 100644 index 0000000..d525dd2 --- /dev/null +++ b/sensorsafrica/api/v1/filters.py @@ -0,0 +1,9 @@ +import django_filters + +from feinstaub.sensors.models import Node + +class NodeFilter(django_filters.FilterSet): + class Meta: + model = Node + fields = {"location__country": ["iexact"]} + diff --git a/sensorsafrica/api/v1/views.py b/sensorsafrica/api/v1/views.py index 53d9921..a51aecc 100644 --- a/sensorsafrica/api/v1/views.py +++ b/sensorsafrica/api/v1/views.py @@ -1,6 +1,7 @@ import datetime import pytz import json +import django_filters from django.conf import settings @@ -18,7 +19,7 @@ from feinstaub.sensors.views import StandardResultsSetPagination from .serializers import SensorDataSerializer - +from .filters import NodeFilter class FilterView(mixins.ListModelMixin, viewsets.GenericViewSet): serializer_class = SensorDataSerializer @@ -49,6 +50,7 @@ class NodeView( permission_classes = [IsAuthenticatedOrReadOnly] queryset = SensorData.objects.none() serializer_class = NodeSerializer + filter_class = NodeFilter def get_queryset(self): if self.request.user.is_authenticated():