1
0
Fork 0

Enable filtering on DataView.

merge-requests/93/head
John Giannelos 2015-02-14 16:15:26 +02:00
parent 55642dda34
commit 3055a9ef7c
2 changed files with 19 additions and 2 deletions

View File

@ -1,3 +1,4 @@
import django_filters
from rest_framework import viewsets, mixins
from network.api.perms import StationOwnerCanEditPermission
@ -31,10 +32,22 @@ class ObservationView(viewsets.ModelViewSet):
serializer_class = serializers.ObservationSerializer
class DataView(viewsets.ReadOnlyModelViewSet,
mixins.UpdateModelMixin):
class DataFilter(django_filters.FilterSet):
class Meta:
model = Data
fields = ['start', 'end', 'ground_station']
class DataView(viewsets.ReadOnlyModelViewSet, mixins.UpdateModelMixin):
queryset = Data.objects.all()
serializer_class = serializers.DataSerializer
filter_class = DataFilter
permission_classes = [
StationOwnerCanEditPermission
]
def get_queryset(self):
payload = self.request.QUERY_PARAMS.get('payload', None)
if payload == '':
return self.queryset.filter(payload='')
return super(DataView, self).get_queryset()

View File

@ -156,3 +156,7 @@ SECRET_KEY = getenv('DJANGO_SECRET_KEY', 'changeme')
import dj_database_url
DATABASE_URL = getenv('DJANGO_DATABASE_URL', 'sqlite:///db.sqlite3')
DATABASES = {'default': dj_database_url.parse(DATABASE_URL)}
REST_FRAMEWORK = {
'DEFAULT_FILTER_BACKENDS': ('rest_framework.filters.DjangoFilterBackend',)
}