Change ordering format

This commit is contained in:
dormantman 2019-12-16 01:02:21 +03:00
parent b847de1183
commit def1372317
2 changed files with 6 additions and 10 deletions

View File

@ -1,8 +0,0 @@
from rest_framework import filters
class CollectionBackOfficeOrderingFilter(filters.BaseFilterBackend):
""" Filter ordering """
def filter_queryset(self, request, queryset, view):
return queryset.order_by('rank', '-start')

View File

@ -1,8 +1,9 @@
from django_filters.rest_framework import DjangoFilterBackend
from rest_framework import mixins from rest_framework import mixins
from rest_framework import permissions from rest_framework import permissions
from rest_framework import viewsets from rest_framework import viewsets
from rest_framework.filters import OrderingFilter
from collection import filters
from collection import models from collection import models
from collection.serializers import back as serializers from collection.serializers import back as serializers
from utils.views import BindObjectMixin from utils.views import BindObjectMixin
@ -27,10 +28,13 @@ class CollectionBackOfficeViewSet(mixins.CreateModelMixin,
permission_classes = (permissions.IsAuthenticated,) permission_classes = (permissions.IsAuthenticated,)
queryset = models.Collection.objects.all() queryset = models.Collection.objects.all()
filter_backends = [filters.CollectionBackOfficeOrderingFilter] filter_backends = [DjangoFilterBackend, OrderingFilter]
serializer_class = serializers.CollectionBackOfficeSerializer serializer_class = serializers.CollectionBackOfficeSerializer
bind_object_serializer_class = serializers.CollectionBindObjectSerializer bind_object_serializer_class = serializers.CollectionBindObjectSerializer
ordering_fields = ('rank', 'start')
ordering = ('-start', )
def perform_binding(self, serializer): def perform_binding(self, serializer):
data = serializer.validated_data data = serializer.validated_data
collection = data.pop('collection') collection = data.pop('collection')