Oops3
This commit is contained in:
1 parent
f869c9066a
commit
d42d6253c4
2 files changed
+9
-3
No files matched your search
+7
-1
@@ -1,6 +1,7 @@
|
|||||||
import django_filters
|
import django_filters
|
||||||
|
|
||||||
from dpdapi.models import Alias
|
from dpdapi.models import Alias
|
||||||
|
from rest_framework.filters import BaseFilterBackend
|
||||||
|
|
||||||
|
|
||||||
class AliasRegexFilter(django_filters.FilterSet):
|
class AliasRegexFilter(django_filters.FilterSet):
|
||||||
@@ -8,4 +9,9 @@ class AliasRegexFilter(django_filters.FilterSet):
|
|||||||
source_regex = django_filters.CharFilter(name="source", lookup_type='iregex')
|
source_regex = django_filters.CharFilter(name="source", lookup_type='iregex')
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Alias
|
model = Alias
|
||||||
|
|
||||||
|
|
||||||
|
class AliasRegexFilterBackend(BaseFilterBackend):
|
||||||
|
def filter_queryset(self, request, queryset, view):
|
||||||
|
return AliasRegexFilter(request.query_params, queryset=queryset).qs
|
||||||
+2
-2
@@ -5,7 +5,7 @@ from rest_framework.permissions import IsAuthenticated
|
|||||||
from rest_framework.response import Response
|
from rest_framework.response import Response
|
||||||
from rest_framework import status, filters, viewsets
|
from rest_framework import status, filters, viewsets
|
||||||
|
|
||||||
from dpdapi.filters import AliasRegexFilter
|
from dpdapi.filters import AliasRegexFilterBackend
|
||||||
from dpdapi.models import Alias, Domain, User
|
from dpdapi.models import Alias, Domain, User
|
||||||
from dpdapi.serializers import AliasSerializer, AliasIdSerializer, DomainSerializer, UserSerializer
|
from dpdapi.serializers import AliasSerializer, AliasIdSerializer, DomainSerializer, UserSerializer
|
||||||
|
|
||||||
@@ -18,7 +18,7 @@ class AliasViewSet(viewsets.ModelViewSet):
|
|||||||
queryset = Alias.objects.all()
|
queryset = Alias.objects.all()
|
||||||
serializer_class = AliasSerializer
|
serializer_class = AliasSerializer
|
||||||
permission_classes = [IsAuthenticated]
|
permission_classes = [IsAuthenticated]
|
||||||
filter_backends = (filters.DjangoFilterBackend, AliasRegexFilter)
|
filter_backends = (filters.DjangoFilterBackend, AliasRegexFilterBackend)
|
||||||
filter_fields = ('domain', 'domain__name',)
|
filter_fields = ('domain', 'domain__name',)
|
||||||
|
|
||||||
@list_route(methods=['post'])
|
@list_route(methods=['post'])
|
||||||
|
|||||||
Reference in new issue
Block a user