From 85e5537b828f0b3f99ac683f91f07d98dfa9c7a6 Mon Sep 17 00:00:00 2001 From: alex Date: Fri, 17 Jan 2020 09:43:13 +0300 Subject: [PATCH] prefetch_related for employee serializers --- apps/establishment/views/back.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/apps/establishment/views/back.py b/apps/establishment/views/back.py index bc22f5ce..c55c1a9c 100644 --- a/apps/establishment/views/back.py +++ b/apps/establishment/views/back.py @@ -34,7 +34,10 @@ class EstablishmentListCreateView(EstablishmentMixinViews, generics.ListCreateAP class EstablishmentRUDView(generics.RetrieveUpdateDestroyAPIView): lookup_field = 'slug' - queryset = models.Establishment.objects.all() + queryset = models.Establishment.objects.all().prefetch_related( + 'establishmentemployee_set', + 'establishmentemployee_set__establishment', + ) serializer_class = serializers.EstablishmentRUDSerializer permission_classes = [IsWineryReviewer | IsCountryAdmin | IsEstablishmentManager] @@ -171,7 +174,10 @@ class EmployeeListCreateView(generics.ListCreateAPIView): permission_classes = (permissions.AllowAny,) filter_class = filters.EmployeeBackFilter serializer_class = serializers.EmployeeBackSerializers - queryset = models.Employee.objects.all() + queryset = models.Employee.objects.all().prefetch_related( + 'establishmentemployee_set', + 'establishmentemployee_set__establishment', + ) class EmployeesListSearchViews(generics.ListAPIView): @@ -394,7 +400,7 @@ class EstablishmentPositionListView(generics.ListAPIView): class EstablishmentAdminView(generics.ListAPIView): """Establishment admin list view.""" serializer_class = serializers.EstablishmentAdminListSerializer - permission_classes = (permissions.IsAuthenticatedOrReadOnly, ) + permission_classes = (permissions.IsAuthenticatedOrReadOnly,) def get_queryset(self): establishment = get_object_or_404(