From fec3e703ced20acf44c765c7795f709854fc06f2 Mon Sep 17 00:00:00 2001 From: Anatoly Date: Wed, 2 Oct 2019 16:21:38 +0300 Subject: [PATCH] refactored collection views --- apps/collection/views/common.py | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/apps/collection/views/common.py b/apps/collection/views/common.py index 16a42f58..5bf8f70e 100644 --- a/apps/collection/views/common.py +++ b/apps/collection/views/common.py @@ -13,12 +13,12 @@ class CollectionViewMixin(generics.GenericAPIView): """Mixin for Collection view""" model = models.Collection permission_classes = (permissions.AllowAny,) + serializer_class = serializers.CollectionSerializer def get_queryset(self): """Override get_queryset method.""" return models.Collection.objects.published() \ .by_country_code(code=self.request.country_code) \ - .filter_all_related_gt(3) \ .order_by('-on_top', '-modified') @@ -30,9 +30,17 @@ class GuideViewMixin(generics.GenericAPIView): # Views # Collections -class CollectionHomePageView(CollectionViewMixin, generics.ListAPIView): - """List Collection view""" - serializer_class = serializers.CollectionSerializer +class CollectionListView(CollectionViewMixin, generics.ListAPIView): + """List Collection view.""" + + +class CollectionHomePageView(CollectionListView): + """Collection list view for home page.""" + + def get_queryset(self): + """Override get_queryset.""" + return super(CollectionHomePageView, self).get_queryset() \ + .filter_all_related_gt(3) class CollectionDetailView(CollectionViewMixin, generics.RetrieveAPIView): @@ -41,7 +49,7 @@ class CollectionDetailView(CollectionViewMixin, generics.RetrieveAPIView): serializer_class = serializers.CollectionBaseSerializer -class CollectionEstablishmentListView(CollectionHomePageView): +class CollectionEstablishmentListView(CollectionListView): """Retrieve list of establishment for collection.""" lookup_field = 'slug' pagination_class = ProjectPageNumberPagination