Блок else не выполняется в Django/python

query= request.GET.get("query") 
    if query:
        story=Story.objects.filter(Q(title__icontains=query) | Q(body__icontains=query)| Q(des__icontains=query))
    else:
        tag=get_object_or_404(Tag, slug=query)
        story=Story.objects.filter(tags__in=[tag])

Я реализую эту функциональность поиска в своем проекте django. Она должна позволить мне искать в базе данных по заголовку, телу, описанию и тегам. Если первые три я могу искать с помощью строк, то теги можно искать только по id, отсюда и необходимость выделить их в отдельный блок else. Но я не понимаю, почему блок else не выполняется, когда я ожидаю этого.

Вернуться на верх