Skip to content

Commit

Permalink
Use named imports for commonly used filters
Browse files Browse the repository at this point in the history
Resolved some issues with DjangoFilterBackend and filter_fields,
cf. carltongibson/django-filter#562
  • Loading branch information
mloeks committed Dec 1, 2017
1 parent 18af4dc commit d2636f4
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 7 deletions.
15 changes: 8 additions & 7 deletions main/views.py
Expand Up @@ -6,8 +6,9 @@
from django.http import HttpResponse, HttpResponseBadRequest
from django.template.loader import render_to_string
from django.views.decorators.csrf import csrf_exempt
from rest_framework import viewsets, filters
from rest_framework import viewsets
from rest_framework.decorators import parser_classes
from rest_framework.filters import OrderingFilter, DjangoFilterBackend
from rest_framework.parsers import FormParser, JSONParser
from rest_framework.parsers import MultiPartParser

Expand All @@ -26,7 +27,7 @@ class BetViewSet(viewsets.ModelViewSet):
permission_classes = (rtg_permissions.IsAdminOrOwner,)

# return all bets of the user and all other bets if deadline has passed
filter_backends = (rtgfilters.IsOwnerOrDeadlinePassed, filters.OrderingFilter)
filter_backends = (rtgfilters.IsOwnerOrDeadlinePassed, OrderingFilter)

# never use pagination for bets, since they should never be displayed paginated to the user in the UI
pagination_class = None
Expand Down Expand Up @@ -62,7 +63,7 @@ class BettableViewSet(viewsets.ReadOnlyModelViewSet):
serializer_class = BettableSerializer
pagination_class = None

filter_backends = (filters.OrderingFilter, rtgfilters.GamesWithBetsOpenIfParamSet)
filter_backends = (OrderingFilter, rtgfilters.GamesWithBetsOpenIfParamSet)

ordering_fields = ('id', 'deadline')
ordering = ('deadline',)
Expand Down Expand Up @@ -94,7 +95,7 @@ class TeamViewSet(viewsets.ModelViewSet):
serializer_class = TeamSerializer
permission_classes = (rtg_permissions.IsAdminOrAuthenticatedReadOnly,)
pagination_class = None
filter_backends = (filters.OrderingFilter,)
filter_backends = (OrderingFilter,)

ordering_fields = ('id', 'name', 'abbreviation')
ordering = ('name',)
Expand All @@ -113,7 +114,7 @@ class GameViewSet(viewsets.ModelViewSet):
permission_classes = (rtg_permissions.IsAdminOrAuthenticatedReadOnly,)
pagination_class = None

filter_backends = (filters.OrderingFilter, rtgfilters.GamesWithBetsOpenIfParamSet)
filter_backends = (OrderingFilter, rtgfilters.GamesWithBetsOpenIfParamSet)

ordering_fields = ('id', 'kickoff', 'deadline', 'venue', 'round')
ordering = ('kickoff',)
Expand All @@ -125,7 +126,7 @@ class UserViewSet(viewsets.ModelViewSet):
permission_classes = (rtg_permissions.UserPermissions,)
pagination_class = None

filter_backends = (filters.OrderingFilter,)
filter_backends = (OrderingFilter,)
ordering = ('first_name', 'last_name', 'username',)

def get_queryset(self):
Expand Down Expand Up @@ -177,7 +178,7 @@ class PostViewSet(viewsets.ModelViewSet):
serializer_class = PostSerializer
permission_classes = (rtg_permissions.IsAdminOrAuthenticatedReadOnly,)

filter_backends = (filters.DjangoFilterBackend, filters.OrderingFilter,)
filter_backends = (DjangoFilterBackend, OrderingFilter,)
filter_fields = ('news_appear',)
ordering = ('-date_created',)

Expand Down
2 changes: 2 additions & 0 deletions rtg/settings/base.py
Expand Up @@ -173,6 +173,8 @@ def get_env_variable(var_name):
# Admin panel and documentation:
'django.contrib.admin',
# 'django.contrib.admindocs',

'django_filters',
)

# Apps specific for this project go here.
Expand Down

0 comments on commit d2636f4

Please sign in to comment.