Add filtering for Event and Signup ViewSets
This commit is contained in:
+2
-1
@@ -35,4 +35,5 @@ pyexcel==0.5.8
|
|||||||
pyexcel-xlsx==0.5.5
|
pyexcel-xlsx==0.5.5
|
||||||
django-import-export==0.7.0
|
django-import-export==0.7.0
|
||||||
openpyxl==2.4.11
|
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
|
||||||
@@ -103,6 +103,7 @@ INSTALLED_APPS = [
|
|||||||
'auditlog',
|
'auditlog',
|
||||||
'phonenumber_field',
|
'phonenumber_field',
|
||||||
'import_export',
|
'import_export',
|
||||||
|
'django_filters',
|
||||||
]
|
]
|
||||||
|
|
||||||
IMPORT_EXPORT_USE_TRANSACTIONS = True
|
IMPORT_EXPORT_USE_TRANSACTIONS = True
|
||||||
@@ -234,6 +235,9 @@ REST_FRAMEWORK = {
|
|||||||
},
|
},
|
||||||
'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.LimitOffsetPagination',
|
'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.LimitOffsetPagination',
|
||||||
'PAGE_SIZE': 10,
|
'PAGE_SIZE': 10,
|
||||||
|
'DEFAULT_FILTER_BACKENDS': (
|
||||||
|
'django_filters.rest_framework.DjangoFilterBackend',
|
||||||
|
),
|
||||||
}
|
}
|
||||||
|
|
||||||
# Email settings (tested working with gmail)
|
# Email settings (tested working with gmail)
|
||||||
|
|||||||
@@ -13,6 +13,8 @@ from rest_framework import viewsets, routers
|
|||||||
from rest_framework.permissions import IsAuthenticatedOrReadOnly
|
from rest_framework.permissions import IsAuthenticatedOrReadOnly
|
||||||
from rest_framework.response import Response
|
from rest_framework.response import Response
|
||||||
from rest_framework.reverse import reverse
|
from rest_framework.reverse import reverse
|
||||||
|
from django_filters import rest_framework as filters
|
||||||
|
from rest_framework.filters import SearchFilter, OrderingFilter
|
||||||
|
|
||||||
# import logging
|
# import logging
|
||||||
# import requests
|
# import requests
|
||||||
@@ -33,18 +35,27 @@ class EventViewSet(viewsets.ModelViewSet):
|
|||||||
queryset = Event.objects.all()
|
queryset = Event.objects.all()
|
||||||
serializer_class = EventSerializer
|
serializer_class = EventSerializer
|
||||||
permission_classes = [IsAuthenticatedOrReadOnly]
|
permission_classes = [IsAuthenticatedOrReadOnly]
|
||||||
|
filter_backends = (filters.DjangoFilterBackend, SearchFilter, OrderingFilter)
|
||||||
|
filter_fields = '__all__'
|
||||||
|
search_fields = '__all__'
|
||||||
|
|
||||||
|
|
||||||
class SignupFormViewSet(viewsets.ModelViewSet):
|
class SignupFormViewSet(viewsets.ModelViewSet):
|
||||||
queryset = SignupForm.objects.all()
|
queryset = SignupForm.objects.all()
|
||||||
serializer_class = SignupFormSerializer
|
serializer_class = SignupFormSerializer
|
||||||
permission_classes = [IsAuthenticatedOrReadOnly]
|
permission_classes = [IsAuthenticatedOrReadOnly]
|
||||||
|
filter_backends = (filters.DjangoFilterBackend, SearchFilter, OrderingFilter)
|
||||||
|
filter_fields = '__all__'
|
||||||
|
search_fields = '__all__'
|
||||||
|
|
||||||
|
|
||||||
class SignupViewSet(viewsets.ModelViewSet):
|
class SignupViewSet(viewsets.ModelViewSet):
|
||||||
queryset = Signup.objects.all()
|
queryset = Signup.objects.all()
|
||||||
serializer_class = SignupSerializer
|
serializer_class = SignupSerializer
|
||||||
permission_classes = []
|
permission_classes = []
|
||||||
|
filter_backends = (filters.DjangoFilterBackend, SearchFilter, OrderingFilter)
|
||||||
|
filter_fields = '__all__'
|
||||||
|
search_fields = '__all__'
|
||||||
|
|
||||||
|
|
||||||
class SavedQuestionsViewSet(viewsets.ModelViewSet):
|
class SavedQuestionsViewSet(viewsets.ModelViewSet):
|
||||||
@@ -57,6 +68,9 @@ class FeedViewSet(viewsets.ModelViewSet):
|
|||||||
queryset = Feed.objects.all()
|
queryset = Feed.objects.all()
|
||||||
serializer_class = FeedSerializer
|
serializer_class = FeedSerializer
|
||||||
permission_classes = []
|
permission_classes = []
|
||||||
|
filter_backends = (filters.DjangoFilterBackend, SearchFilter, OrderingFilter)
|
||||||
|
filter_fields = '__all__'
|
||||||
|
search_fields = '__all__'
|
||||||
|
|
||||||
|
|
||||||
class ContactsViewSet(viewsets.ReadOnlyModelViewSet):
|
class ContactsViewSet(viewsets.ReadOnlyModelViewSet):
|
||||||
|
|||||||
Reference in New Issue
Block a user