fixed EstablishmentFilter

This commit is contained in:
Anatoly 2019-10-22 15:58:00 +03:00
parent 4c9ea2e0e7
commit 071b634659

View File

@ -1,6 +1,7 @@
"""Establishment app filters."""
from django.core.validators import EMPTY_VALUES
from django_filters import rest_framework as filters
from establishment import models
@ -10,10 +11,10 @@ class EstablishmentFilter(filters.FilterSet):
tag_id = filters.NumberFilter(field_name='tags__metadata__id',)
award_id = filters.NumberFilter(field_name='awards__id',)
search = filters.CharFilter(method='search_text')
est_type = filters.ChoiceFilter(choices=models.EstablishmentType.INDEX_NAME_TYPES,
method='by_type')
est_subtype = filters.ChoiceFilter(choices=models.EstablishmentSubType.INDEX_NAME_TYPES,
method='by_subtype')
type = filters.ChoiceFilter(choices=models.EstablishmentType.INDEX_NAME_TYPES,
method='by_type')
subtype = filters.ChoiceFilter(choices=models.EstablishmentSubType.INDEX_NAME_TYPES,
method='by_subtype')
class Meta:
"""Meta class."""
@ -23,8 +24,8 @@ class EstablishmentFilter(filters.FilterSet):
'tag_id',
'award_id',
'search',
'est_type',
'est_subtype',
'type',
'subtype',
)
def search_text(self, queryset, name, value):
@ -34,10 +35,14 @@ class EstablishmentFilter(filters.FilterSet):
return queryset
def by_type(self, queryset, name, value):
return queryset.by_type(value)
if value not in EMPTY_VALUES:
return queryset.by_type(value)
return queryset
def by_subtype(self, queryset, name, value):
return queryset.by_subtype(value)
if value not in EMPTY_VALUES:
return queryset.by_subtype(value)
return queryset
class EstablishmentTypeTagFilter(filters.FilterSet):