Трудность одновременного использования нескольких фильтров в представлении Django с HTMX

Я столкнулся с проблемой одновременного использования нескольких фильтров в представлении Django при использовании HTMX для асинхронных обновлений. Вот разбивка соответствующего кода и проблема, с которой я столкнулся:

Html-запросы:

<input id="searchInput" class="form-control mb-4" type="search" name="searchInput"
             placeholder="Procure produtos pelo nome..."
             hx-get="{% url 'filter_products' %}?searchInput={{ searchInput.value }}"
             hx-trigger="input changed delay:500ms, search" hx-target="#search-results">

<select name="name_category" class="form-select px-0 py-0" multiple aria-label="multiple select example"
                  hx-get="{% url 'filter_products' %}"
                  hx-trigger="change"
                  hx-target="#search-results">

Вид фильтра:

def filter_products(request):
    category_names = request.GET.getlist('name_category', [])
    search_query = request.GET.get('searchInput')
    print(search_query)
    print(category_names)

    # Start with all products
    products = Products.objects.all()

    # Apply category filter if any category is selected
    if category_names:
        category_filters = Q()
        for category_name in category_names:
            category_filters |= Q(categoryproducts__category__name_category=category_name)
        products = products.filter(category_filters)

    # Apply search filter if a search query is provided
    if search_query:
        products = products.filter(title__icontains=search_query)

    # Render the response using the products found
    html = render_to_string('products/products_list_partial.html', {'products': products})
    return HttpResponse(html)

Проблема возникает, когда я пытаюсь использовать оба фильтра одновременно. Если я выбираю категорию, в то время как применяется поисковый запрос (или наоборот), другой фильтр очищается. Например, если я применяю поисковый запрос, а затем выбираю категорию, поисковый запрос исчезает, и применяется только фильтр категории.

Как изменить код для одновременного использования обоих фильтров, чтобы список товаров обновлялся в зависимости от изменений как поискового запроса, так и выбранных категорий?

Я пробовал менять вид безрезультатно. Одна вещь, которая сработала, но не может быть использована, это обновление hx-триггера на каждую 1 секунду, которая будет передавать два значения, а не только одно, не знаю почему...

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