Как передать контекст в ListAPIView из get_queryset(self) функции?
Я знаю как добавить контекст в представление штатным способом, но я не могу понять как это можно сделать из указанной функции. Я выполняю поиск объектов модели на основе URL параметров. Вот моё представление:
class TagList(ListAPIView):
permission_classes = [AllowAny] # TODO: [IsAuthenticated]
renderer_classes = [TemplateHTMLRenderer, ]
template_name = 'theme/components/ext_acc/tags.html'
serializer_class = ExtendedAccordionTagSerializer
pagination_class = FloatPagination
def get_queryset(self):
params = self.request.query_params
queryset = Tag.objects
if params:
if 'group' in params:
query = parse.unquote(str(params['group'])).split()
if query:
queryset = queryset.filter(reduce(operator.or_, (Q(tag_group__name__icontains = group.replace('_', ' ')) for group in query)))
if 'name' in params:
query = parse.unquote(str(params['name'])).split()
if query:
queryset = queryset.filter(reduce(operator.or_, (Q(tag_name__icontains = name) for name in query)))
queryset = queryset if queryset.exists() else Tag.objects
return (queryset.order_by('tag_name'))
Я использую два параметра ('group' и 'name') для поиска экземпляров модели Tag.
Если введённые параметры не определяют ни одного тега, я хочу вывести на HTML страницу весь набор тегов, и это работает, но я хочу дать понять пользователю, что поиск завершился неудачей, выполнив подсветку <div> элемента. Для этого я хочу передать логический параметр в контекст представления. Как я могу добавить значение в контекст представления из функции get_queryset(self)?