refactored collection views
This commit is contained in:
parent
8e3bb54508
commit
fec3e703ce
|
|
@ -13,12 +13,12 @@ class CollectionViewMixin(generics.GenericAPIView):
|
||||||
"""Mixin for Collection view"""
|
"""Mixin for Collection view"""
|
||||||
model = models.Collection
|
model = models.Collection
|
||||||
permission_classes = (permissions.AllowAny,)
|
permission_classes = (permissions.AllowAny,)
|
||||||
|
serializer_class = serializers.CollectionSerializer
|
||||||
|
|
||||||
def get_queryset(self):
|
def get_queryset(self):
|
||||||
"""Override get_queryset method."""
|
"""Override get_queryset method."""
|
||||||
return models.Collection.objects.published() \
|
return models.Collection.objects.published() \
|
||||||
.by_country_code(code=self.request.country_code) \
|
.by_country_code(code=self.request.country_code) \
|
||||||
.filter_all_related_gt(3) \
|
|
||||||
.order_by('-on_top', '-modified')
|
.order_by('-on_top', '-modified')
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -30,9 +30,17 @@ class GuideViewMixin(generics.GenericAPIView):
|
||||||
|
|
||||||
# Views
|
# Views
|
||||||
# Collections
|
# Collections
|
||||||
class CollectionHomePageView(CollectionViewMixin, generics.ListAPIView):
|
class CollectionListView(CollectionViewMixin, generics.ListAPIView):
|
||||||
"""List Collection view"""
|
"""List Collection view."""
|
||||||
serializer_class = serializers.CollectionSerializer
|
|
||||||
|
|
||||||
|
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):
|
class CollectionDetailView(CollectionViewMixin, generics.RetrieveAPIView):
|
||||||
|
|
@ -41,7 +49,7 @@ class CollectionDetailView(CollectionViewMixin, generics.RetrieveAPIView):
|
||||||
serializer_class = serializers.CollectionBaseSerializer
|
serializer_class = serializers.CollectionBaseSerializer
|
||||||
|
|
||||||
|
|
||||||
class CollectionEstablishmentListView(CollectionHomePageView):
|
class CollectionEstablishmentListView(CollectionListView):
|
||||||
"""Retrieve list of establishment for collection."""
|
"""Retrieve list of establishment for collection."""
|
||||||
lookup_field = 'slug'
|
lookup_field = 'slug'
|
||||||
pagination_class = ProjectPageNumberPagination
|
pagination_class = ProjectPageNumberPagination
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user