0

我正在使用 django-filter 进行深入研究,并希望为每个被过滤的项目创建面包屑。例如:

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 3Bedrooms 3 > Price range 0-999当他们单击第二个链接时。

面包屑应该保持顺序(我遇到问题的部分)并适用于任意数量的属性。单击面包屑路径中的链接应应用单击的过滤器和路径中的所有过滤器。

我想创建一个空的QueryDict,然后在输出面包屑时遍历 request.GET 以构建它QueryDict,但由于某种原因QueryDict,它会向后遍历其元素(请参阅文档)。

实现此目的最干净的方法是什么?有谁知道为什么这样QueryDict工作?(我想我缺少一个用例。)任何建议都值得赞赏。

4

1 回答 1

1

跟踪会话中的顺序。因此,当单击第一个过滤器(例如 3 张床)时,将其存储。然后,如果单击另一个,则从会话中构建面包屑。假设第二个是 0-999,您将拉出任何现有的面包屑(在此示例中,您会找到 3 张床),然后添加最新的(0-999)。

于 2009-12-03T07:22:08.797 回答