Использование хлебных крошек с django-фильтром, проблема с QueryDict

StackOverflow https://stackoverflow.com/questions/1836416

Вопрос

Я использую django-фильтр для детализации и хотел бы создать хлебные крошки для каждого отфильтрованного элемента.Например:

Price ranges:
10,000+
5,000-9,999
1,000-4,999
0-999

Bedrooms:
4
3
2
1

Каждый из элементов в разделах «Диапазоны цен» и «Спальни» будет ссылкой для детализации в наборе запросов.

Я хотел бы создать хлебную крошку, например Price range 0-999 или Bedrooms 3 если пользователь нажмет на эти ссылки, а затем покажет Price range 0-999 > Bedrooms 3 или Bedrooms 3 > Price range 0-999 когда они нажимают вторую ссылку.

Хлебные крошки должны поддерживать порядок (та часть, с которой у меня возникают проблемы) и работать для любого количества атрибутов.Щелчок по ссылке в навигационной цепочке должен применить выбранный фильтр и все фильтры перед ним в цепочке.

Я хотел бы создать пустой QueryDict а затем повторите request.GET, чтобы построить QueryDict вверх, пока вывожу хлебные крошки, но по какой-то причине QueryDict перебирает свои элементы в обратном порядке (см. документацию).

Какой самый чистый способ сделать это?Кто-нибудь знает, почему QueryDict работает так?(Я думаю, что есть вариант использования, который мне не хватает.) Любые советы приветствуются.

Это было полезно?

Решение

отслеживать порядок в сессиях.поэтому при нажатии первого фильтра (например, 3 кровати) сохраните его.затем, если щелкнуть другой, соберите хлебные крошки из сеансов.скажем, второй был 0-999, вы бы извлекли все существующие хлебные крошки (в этом примере вы нашли бы 3 кровати), а затем добавили бы самую последнюю (0-999).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top