2013-10-22 60 views
0

django-haystack文檔的標準示例。我使用FacetedSearchView和FacetedSearchForm。如何使用分面搜索來避免來自url的重複值?

提供的鏈接:

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:而不是改變當前值?

回答

0

我不確定爲什麼會發生這種情況,但請確保鏈接的「href」屬性設置正確。舉個例子,假設您正在使用FacetedSearchViewFacetedSearchForm假設:鏈接波紋管會工作得很好(如DOC例子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>