Использование хлебных крошек с django-фильтром, проблема QueryDict
Я использую 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
работает так? (Я полагаю, что мне не хватает варианта использования.) Любой совет приветствуется.
1 ответ
Отслеживать порядок в сессиях. поэтому при первом щелчке фильтра (например, 3 слоя) сохраните его. затем, если щелкнет другой, создайте свои хлебные крошки из сессий. скажем, вторым было 0-999, вы вытаскиваете любые существующие хлебные крошки (в этом примере вы найдете 3 кровати), а затем добавляете последние (0-999).