refactored filters for partner view
This commit is contained in:
parent
b1817061db
commit
e1c1662819
23
apps/partner/filters.py
Normal file
23
apps/partner/filters.py
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
"""Partner app filters."""
|
||||
from django_filters import rest_framework as filters
|
||||
|
||||
from partner.models import Partner
|
||||
|
||||
|
||||
class PartnerFilterSet(filters.FilterSet):
|
||||
"""Establishment filter set."""
|
||||
|
||||
establishment = filters.NumberFilter(
|
||||
help_text='Allows to get partner list by establishment ID.')
|
||||
type = filters.ChoiceFilter(
|
||||
choices=Partner.MODEL_TYPES,
|
||||
help_text=f'Allows to filter partner list by partner type. '
|
||||
f'Enum: {dict(Partner.MODEL_TYPES)}')
|
||||
|
||||
class Meta:
|
||||
"""Meta class."""
|
||||
model = Partner
|
||||
fields = (
|
||||
'establishment',
|
||||
'type',
|
||||
)
|
||||
|
|
@ -1,22 +1,20 @@
|
|||
from django_filters.rest_framework import DjangoFilterBackend, filters
|
||||
from rest_framework import generics, permissions
|
||||
|
||||
from partner import filters
|
||||
from partner.models import Partner
|
||||
from partner.serializers import back as serializers
|
||||
from utils.permissions import IsEstablishmentManager
|
||||
|
||||
|
||||
class PartnerLstView(generics.ListCreateAPIView):
|
||||
"""Partner list create view."""
|
||||
"""Partner list/create view.
|
||||
Allows to get partners for current country, or create a new one.
|
||||
"""
|
||||
queryset = Partner.objects.all()
|
||||
serializer_class = serializers.BackPartnerSerializer
|
||||
pagination_class = None
|
||||
permission_classes = [permissions.IsAdminUser | IsEstablishmentManager]
|
||||
filter_backends = (DjangoFilterBackend,)
|
||||
filterset_fields = (
|
||||
'establishment',
|
||||
'type',
|
||||
)
|
||||
filter_class = filters.PartnerFilterSet
|
||||
|
||||
|
||||
class PartnerRUDView(generics.RetrieveUpdateDestroyAPIView):
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user