partners remastered (sotring and optimization improvement)

This commit is contained in:
Kuroshini 2020-01-29 20:44:42 +03:00
parent 5ad32ad8aa
commit 8eb828e309

View File

@ -1,6 +1,8 @@
from rest_framework import generics, permissions
from django.shortcuts import get_object_or_404 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 import filters
from partner.models import Partner, PartnerToEstablishment from partner.models import Partner, PartnerToEstablishment
from partner.serializers import back as serializers from partner.serializers import back as serializers
@ -19,10 +21,13 @@ class PartnerLstView(generics.ListCreateAPIView):
class EstablishmentPartners(generics.ListAPIView): class EstablishmentPartners(generics.ListAPIView):
queryset = PartnerToEstablishment.objects.all() queryset = PartnerToEstablishment.objects.prefetch_related('partner', 'partner__country')
serializer_class = serializers.PartnersForEstablishmentSerializer serializer_class = serializers.PartnersForEstablishmentSerializer
pagination_class = None pagination_class = None
permission_classes = [permissions.IsAdminUser | IsEstablishmentManager] permission_classes = [permissions.IsAdminUser | IsEstablishmentManager]
filter_backends = (OrderingFilter, DjangoFilterBackend)
ordering_fields = '__all__'
ordering = '-partner_bind_date'
def get_queryset(self): def get_queryset(self):
return super().get_queryset().filter(establishment=self.kwargs['establishment_id']) return super().get_queryset().filter(establishment=self.kwargs['establishment_id'])