diff --git a/apps/api/views.py b/apps/api/views.py index c034abe..da3f11f 100644 --- a/apps/api/views.py +++ b/apps/api/views.py @@ -243,6 +243,8 @@ class ContentFilterBackend(BaseFilterBackend): def filter_queryset(self, request, queryset, view): filters = Q() + match_any = request.query_params.get(self._MATCH_ANY_PARAM, "").lower() == "true" + log.debug(f"matching any against content: {match_any}") for param, value in request.query_params.items(): if param in self._IGNORE_PARAMS or param == self._MATCH_ANY_PARAM: @@ -250,12 +252,16 @@ class ContentFilterBackend(BaseFilterBackend): query = Q(**{param: value}) - if param not in self._IGNORE_PARAMS: + if match_any: filters |= query else: filters &= query - return queryset.filter(filters) + log.debug(query) + + queryset_filter = queryset.filter(filters) + log.debug(queryset_filter.query) + return queryset_filter class Content_ListView(ListCreateView):