* 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 .models import Gift
|
||||
from .models import Checklist, Gift
|
||||
|
||||
|
||||
class GiftFilter(filters.FilterSet):
|
||||
|
|
@ -12,3 +12,11 @@ class GiftFilter(filters.FilterSet):
|
|||
|
||||
def filter_for_price(self, queryset, name, 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.poizon import PoizonClient
|
||||
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.serializers import (ChecklistSerializer, CategorySerializer, CategoryFullSerializer,
|
||||
PaymentMethodSerializer, GlobalSettingsSerializer,
|
||||
|
|
@ -38,7 +38,7 @@ class ChecklistAPI(mixins.ListModelMixin,
|
|||
DisablePermissionsMixin):
|
||||
serializer_class = ChecklistSerializer
|
||||
lookup_field = 'id'
|
||||
filterset_fields = ['status', ]
|
||||
filterset_class = ChecklistFilter
|
||||
filter_backends = [DjangoFilterBackend, SearchFilter]
|
||||
search_fields = ['id', 'poizon_tracking', 'buyer_phone']
|
||||
# TODO: search by full_price
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user