diff --git a/gracedb/api/v1/superevents/filters.py b/gracedb/api/v1/superevents/filters.py index 2a73d42b57ddc4cd6d4338d77492c924f1d65a48..cb6a15306752ae1e498fb899d920443f17efe131 100644 --- a/gracedb/api/v1/superevents/filters.py +++ b/gracedb/api/v1/superevents/filters.py @@ -6,6 +6,7 @@ from django.http import HttpResponseBadRequest from rest_framework import filters, exceptions +from search.query.labels import filter_for_labels from search.query.superevents import parseSupereventQuery # Set up logger @@ -35,10 +36,12 @@ class SupereventSearchFilter(filters.SearchFilter): # Do filtering try: filter_params = parseSupereventQuery(query) + qs = queryset.filter(filter_params) + qs = filter_for_labels(qs, query).distinct() except ParseException as e: raise exceptions.ParseError('Invalid query') - return queryset.filter(filter_params) + return qs class SupereventOrderingFilter(filters.OrderingFilter):