如何通过分面搜索避免来自网址的重复值?

时间:2013-10-22 10:30:24

标签: python django django-haystack faceted-search

来自django-haystack文档的标准欺骗示例。我使用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)时,会显示相同的方面 到该网址将添加相同的值:?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:而不是更改当前值?

1 个答案:

答案 0 :(得分:0)

我不确定为什么会发生这种情况,但请确保正确设置了链接的'href'属性。例如,我们假设您使用的是FacetedSearchViewFacetedSearchForm:以下链接可以正常使用(例如文档示例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>