* Filter Checklist by multiple status values
This commit is contained in:
parent
aa3aa00ae1
commit
a4f8dfc27c
|
|
@ -1,6 +1,6 @@
|
||||||
from django_filters import rest_framework as filters
|
from django_filters import rest_framework as filters
|
||||||
|
|
||||||
from .models import Gift
|
from .models import Checklist, Gift
|
||||||
|
|
||||||
|
|
||||||
class GiftFilter(filters.FilterSet):
|
class GiftFilter(filters.FilterSet):
|
||||||
|
|
@ -12,3 +12,11 @@ class GiftFilter(filters.FilterSet):
|
||||||
|
|
||||||
def filter_for_price(self, queryset, name, value):
|
def filter_for_price(self, queryset, name, value):
|
||||||
return queryset.filter(min_price__lte=value)
|
return queryset.filter(min_price__lte=value)
|
||||||
|
|
||||||
|
|
||||||
|
class ChecklistFilter(filters.FilterSet):
|
||||||
|
status = filters.MultipleChoiceFilter(choices=Checklist.Status.CHOICES)
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
model = Checklist
|
||||||
|
fields = ('status',)
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@ from rest_framework.response import Response
|
||||||
from external_api.cdek import CDEKClient
|
from external_api.cdek import CDEKClient
|
||||||
from external_api.poizon import PoizonClient
|
from external_api.poizon import PoizonClient
|
||||||
from store.exceptions import CRMException
|
from store.exceptions import CRMException
|
||||||
from store.filters import GiftFilter
|
from store.filters import GiftFilter, ChecklistFilter
|
||||||
from store.models import Checklist, GlobalSettings, Category, PaymentMethod, Promocode, Gift
|
from store.models import Checklist, GlobalSettings, Category, PaymentMethod, Promocode, Gift
|
||||||
from store.serializers import (ChecklistSerializer, CategorySerializer, CategoryFullSerializer,
|
from store.serializers import (ChecklistSerializer, CategorySerializer, CategoryFullSerializer,
|
||||||
PaymentMethodSerializer, GlobalSettingsSerializer,
|
PaymentMethodSerializer, GlobalSettingsSerializer,
|
||||||
|
|
@ -38,7 +38,7 @@ class ChecklistAPI(mixins.ListModelMixin,
|
||||||
DisablePermissionsMixin):
|
DisablePermissionsMixin):
|
||||||
serializer_class = ChecklistSerializer
|
serializer_class = ChecklistSerializer
|
||||||
lookup_field = 'id'
|
lookup_field = 'id'
|
||||||
filterset_fields = ['status', ]
|
filterset_class = ChecklistFilter
|
||||||
filter_backends = [DjangoFilterBackend, SearchFilter]
|
filter_backends = [DjangoFilterBackend, SearchFilter]
|
||||||
search_fields = ['id', 'poizon_tracking', 'buyer_phone']
|
search_fields = ['id', 'poizon_tracking', 'buyer_phone']
|
||||||
# TODO: search by full_price
|
# TODO: search by full_price
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user