我正在嘗試將Haystack中的搜索結果分組。我希望他們按照模型(藝術家或繪畫)分組,然後通過日期字段(創建),然後理想地由布爾字段(出售)分組。如何在Django中對Haystack搜索結果進行分組
I.e.像下面的東西,但它不工作。我認爲我需要重寫SearchView並以某種方式處理查詢,然後交給模板,但我不知道如何。
或者我應該只是在模板中進行分組?
def get_queryset():
q = SearchQuerySet().filter(display=True).order_by('-created')
paintings_unsold = q.models(Painting).filter(sold=False)
paintings_sold = q.models(Painting).filter(sold=True)
artists = q.models(Artist)
return paintings_unsold | paintings_sold | artists
urlpatterns += patterns(
'',
(r'^search/', SearchView(
searchqueryset=get_queryset()
))
)
不確定你的意思是「group by」。一個searchview結果集是一個項目列表。也許你的意思是'方面'? – Hamish
我想我的意思是,不是按照相關順序(我認爲它們是默認情況下)返回搜索結果,而是希望通過基礎模型類型返回它們,然後通過該模型的布爾屬性返回它們。 – eggbert
仍不確定你的意思。您正在討論*排序順序*,這與分組完全不同。 – Hamish