Merge branch 'bug-country_code_filtration' into 'develop'
bug-country_code_filtration See merge request gm/gm-backend!258
This commit is contained in:
commit
122680af0b
|
|
@ -8,6 +8,7 @@ class CityBackFilter(filters.FilterSet):
|
|||
"""Employee filter set."""
|
||||
|
||||
search = filters.CharFilter(method='search_by_name')
|
||||
country_code = filters.CharFilter(method='filter_by_country_code')
|
||||
|
||||
class Meta:
|
||||
"""Meta class."""
|
||||
|
|
@ -15,8 +16,15 @@ class CityBackFilter(filters.FilterSet):
|
|||
model = models.City
|
||||
fields = (
|
||||
'search',
|
||||
'country_code',
|
||||
)
|
||||
|
||||
def filter_by_country_code(self, queryset, name, value):
|
||||
"""Filter by country code."""
|
||||
if value not in EMPTY_VALUES:
|
||||
return queryset.by_country_code(value)
|
||||
return queryset
|
||||
|
||||
def search_by_name(self, queryset, name, value):
|
||||
"""Search by name or last name."""
|
||||
if value not in EMPTY_VALUES:
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@ class CityListCreateView(common.CityViewMixin, generics.ListCreateAPIView):
|
|||
"""Overridden method 'get_queryset'."""
|
||||
qs = models.City.objects.all().annotate(locale_name=KeyTextTransform(get_current_locale(), 'name'))\
|
||||
.order_by('locale_name').with_base_related()
|
||||
if self.request.country_code:
|
||||
if self.request.country_code and self.request.query_params.get('country_code') is None:
|
||||
qs = qs.by_country_code(self.request.country_code)
|
||||
return qs
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user