From 660eb347c509cb9a85a8e83ca54f0788ddfc1090 Mon Sep 17 00:00:00 2001 From: Dmitriy Kuzmenko Date: Fri, 1 Nov 2019 18:10:12 +0300 Subject: [PATCH] add filter by country for carusel --- apps/main/models.py | 4 ++++ apps/main/views/common.py | 7 +++++++ 2 files changed, 11 insertions(+) diff --git a/apps/main/models.py b/apps/main/models.py index 3ed5f4d3..d5480191 100644 --- a/apps/main/models.py +++ b/apps/main/models.py @@ -286,6 +286,10 @@ class CarouselQuerySet(models.QuerySet): """Active carousel objects.""" return self.filter(active=True) + def by_country_code(self, code): + """Filter collection by country code.""" + return self.filter(country__code=code) + class Carousel(models.Model): """Carousel model.""" diff --git a/apps/main/views/common.py b/apps/main/views/common.py index e5ce2fa3..d890e42b 100644 --- a/apps/main/views/common.py +++ b/apps/main/views/common.py @@ -67,6 +67,13 @@ class CarouselListView(generics.ListAPIView): permission_classes = (permissions.AllowAny,) pagination_class = None + def get_queryset(self): + country_code = self.request.country_code + qs = self.queryset + if country_code: + qs = qs.by_country_code(country_code) + return qs + class DetermineLocation(generics.GenericAPIView): """Determine user's location."""