Add filtering for Event and Signup ViewSets

This commit is contained in:
Aarni Halinen
2018-11-18 15:29:51 +02:00
parent 65aac3daf1
commit 55fdf8f60d
3 changed files with 20 additions and 1 deletions
+2 -1
View File
@@ -35,4 +35,5 @@ pyexcel==0.5.8
pyexcel-xlsx==0.5.5
django-import-export==0.7.0
openpyxl==2.4.11
django-app-namespace-template-loader==0.4.1
django-app-namespace-template-loader==0.4.1
django-filter==2.0.0
+4
View File
@@ -103,6 +103,7 @@ INSTALLED_APPS = [
'auditlog',
'phonenumber_field',
'import_export',
'django_filters',
]
IMPORT_EXPORT_USE_TRANSACTIONS = True
@@ -234,6 +235,9 @@ REST_FRAMEWORK = {
},
'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.LimitOffsetPagination',
'PAGE_SIZE': 10,
'DEFAULT_FILTER_BACKENDS': (
'django_filters.rest_framework.DjangoFilterBackend',
),
}
# Email settings (tested working with gmail)
+14
View File
@@ -13,6 +13,8 @@ from rest_framework import viewsets, routers
from rest_framework.permissions import IsAuthenticatedOrReadOnly
from rest_framework.response import Response
from rest_framework.reverse import reverse
from django_filters import rest_framework as filters
from rest_framework.filters import SearchFilter, OrderingFilter
# import logging
# import requests
@@ -33,18 +35,27 @@ class EventViewSet(viewsets.ModelViewSet):
queryset = Event.objects.all()
serializer_class = EventSerializer
permission_classes = [IsAuthenticatedOrReadOnly]
filter_backends = (filters.DjangoFilterBackend, SearchFilter, OrderingFilter)
filter_fields = '__all__'
search_fields = '__all__'
class SignupFormViewSet(viewsets.ModelViewSet):
queryset = SignupForm.objects.all()
serializer_class = SignupFormSerializer
permission_classes = [IsAuthenticatedOrReadOnly]
filter_backends = (filters.DjangoFilterBackend, SearchFilter, OrderingFilter)
filter_fields = '__all__'
search_fields = '__all__'
class SignupViewSet(viewsets.ModelViewSet):
queryset = Signup.objects.all()
serializer_class = SignupSerializer
permission_classes = []
filter_backends = (filters.DjangoFilterBackend, SearchFilter, OrderingFilter)
filter_fields = '__all__'
search_fields = '__all__'
class SavedQuestionsViewSet(viewsets.ModelViewSet):
@@ -57,6 +68,9 @@ class FeedViewSet(viewsets.ModelViewSet):
queryset = Feed.objects.all()
serializer_class = FeedSerializer
permission_classes = []
filter_backends = (filters.DjangoFilterBackend, SearchFilter, OrderingFilter)
filter_fields = '__all__'
search_fields = '__all__'
class ContactsViewSet(viewsets.ReadOnlyModelViewSet):