award filter

This commit is contained in:
alex 2019-11-20 16:17:49 +03:00
parent bea485f936
commit 7ba3913000
2 changed files with 38 additions and 1 deletions

37
apps/main/filters.py Normal file
View File

@ -0,0 +1,37 @@
from django.core.validators import EMPTY_VALUES
from django_filters import rest_framework as filters
from review import models
class AwardFilter(filters.FilterSet):
"""Award filter set."""
establishment_id = filters.NumberFilter(field_name='object_id', )
product_id = filters.NumberFilter(field_name='object_id', )
employee_id = filters.NumberFilter(field_name='object_id', )
class Meta:
"""Meta class."""
model = models.Review
fields = (
'establishment_id',
'product_id',
'employee_id',
)
def by_establishment_id(self, queryset, name, value):
if value not in EMPTY_VALUES:
return queryset.by_establishment_id(value, content_type='establishment')
return queryset
def by_product_id(self, queryset, name, value):
if value not in EMPTY_VALUES:
return queryset.by_product_id(value, content_type='product')
return queryset
def by_employee_id(self, queryset, name, value):
if value not in EMPTY_VALUES:
return queryset.by_employee_id(value, content_type='establishmentemployee')
return queryset

View File

@ -153,7 +153,7 @@ class Award(TranslatedFieldsMixin, URLImageMixin, models.Model):
PUBLISHED = 1
STATE_CHOICES = (
(WAITING,'waiting'),
(WAITING, 'waiting'),
(PUBLISHED, 'published')
)