From 8eb828e30925675a7a4a903efe4633050bd070a2 Mon Sep 17 00:00:00 2001 From: Kuroshini Date: Wed, 29 Jan 2020 20:44:42 +0300 Subject: [PATCH] partners remastered (sotring and optimization improvement) --- apps/partner/views/back.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/apps/partner/views/back.py b/apps/partner/views/back.py index eb35ddf0..53182b92 100644 --- a/apps/partner/views/back.py +++ b/apps/partner/views/back.py @@ -1,6 +1,8 @@ -from rest_framework import generics, permissions - from django.shortcuts import get_object_or_404 +from django_filters.rest_framework import DjangoFilterBackend +from rest_framework import generics, permissions +from rest_framework.filters import OrderingFilter + from partner import filters from partner.models import Partner, PartnerToEstablishment from partner.serializers import back as serializers @@ -19,10 +21,13 @@ class PartnerLstView(generics.ListCreateAPIView): class EstablishmentPartners(generics.ListAPIView): - queryset = PartnerToEstablishment.objects.all() + queryset = PartnerToEstablishment.objects.prefetch_related('partner', 'partner__country') serializer_class = serializers.PartnersForEstablishmentSerializer pagination_class = None permission_classes = [permissions.IsAdminUser | IsEstablishmentManager] + filter_backends = (OrderingFilter, DjangoFilterBackend) + ordering_fields = '__all__' + ordering = '-partner_bind_date' def get_queryset(self): return super().get_queryset().filter(establishment=self.kwargs['establishment_id'])