establishment list view - added filter by country code

This commit is contained in:
Anatoly 2019-09-02 09:56:55 +03:00
parent e6b35c8d55
commit 664412d0f4
3 changed files with 11 additions and 1 deletions

View File

@ -74,6 +74,10 @@ class EstablishmentQuerySet(models.QuerySet):
else:
return self.none()
def by_country_code(self, code):
"""Return establishments by country code"""
return self.filter(address__city__country__code=code)
def prefetch_actual_employees(self):
"""Prefetch actual employees."""
return self.prefetch_related(

View File

@ -21,6 +21,12 @@ class EstablishmentListView(EstablishmentMixin, JWTGenericViewMixin, generics.Li
filter_class = filters.EstablishmentFilter
def get_queryset(self):
"""Overrided method 'get_queryset'."""
return models.Establishment.objects.all()\
.prefetch_actual_employees()\
.by_country_code(code=self.request.country_code)
class EstablishmentRetrieveView(EstablishmentMixin, JWTGenericViewMixin, generics.RetrieveAPIView):
"""Resource for getting a establishment."""

View File

@ -22,7 +22,7 @@ class NewsListFilterSet(django_filters.FilterSet):
"""Crappy search by title according to locale"""
if value:
locale = self.request.locale
filters = {f'{name}__{locale}': value}
filters = {f'{name}__{locale}__icontains': value}
return queryset.filter(**filters)
else:
return queryset