0

来自 django-haystack 文档的标准 feceting 示例。我使用 FacetedSearchView 和 FacetedSearchForm。

提供的链接:

age
20 (4)
18 (2)
21 (2)
22 (2)
24 (2)

price
200 (8)
150 (6)
100 (2)
300 (2)
400 (2)

当我选择一个链接20 (4)时,将缩小搜索查询以仅包含这些条件并显示更多方面。

提供网址:?q=+&selected_facets=age_exact:20

提供的链接:

age
20 (4)
18 (0)
21 (0)
22 (0)
24 (0)

price
150 (2)
200 (2)
100 (0)
300 (0)
400 (0)

到那时,没关系。

再次,当我选择一个链接时20 (4),将显示相同的方面,但 URL 将添加相同的值:?q=+&selected_facets=age_exact:20&selected_facets=age_exact:20

...等等 ?q=+&selected_facets=age_exact:20&selected_facets=age_exact:20&selected_facets=age_exact:24&selected_facets=age_exact:21&selected_facets=age_exact:20&selected_facets=age_exact:18

如何避免添加新&selected_facets=age_exact:值而不是更改当前值?

4

1 回答 1

0

我不确定为什么会发生这种情况,但请确保链接的“href”属性设置正确。例如,假设您正在使用FacetedSearchViewand FacetedSearchForm:下面的链接可以正常工作(如文档示例http://django-haystack.readthedocs.org/en/latest/faceting.html):

<a class="facet" href="{{ request.get_full_path }}&selected_facets=age_exact:{{age.0|urlencode}}">{{ age.0 }}</a> 
于 2013-11-08T12:56:53.770 回答