diff --git a/portfolios/filters.py b/portfolios/filters.py new file mode 100644 index 0000000..197faf5 --- /dev/null +++ b/portfolios/filters.py @@ -0,0 +1,17 @@ +from django_filters import rest_framework as filters +from django.db.models import Q +from .models import Portfolio + +class PortfolioFilter(filters.FilterSet): + category = filters.CharFilter(method='filter_category') + + def filter_category(self, queryset, name, value): + categories = value.split(',') + q = Q() + for c in categories: + q |= Q(category__contains=[c]) + return queryset.filter(q) + + class Meta: + model = Portfolio + fields = ['category']