0
使用Haystack和Sorl。Django Haystack。並且,或者在搜索查詢集
我需要製作一個搜索查詢集以通過過濾器搜索產品。
首先,我只需要過濾基於我的網站(Django網站框架)的產品。所以,我做的:
sqs = sqs.filter(site=site.pk)
它返回這樣的搜索查詢:
site:(6)
確定。
然後,我需要按屬性進行過濾:
sqs = sqs.filter(attribute_codes='power', attribute_values__range=(20, 30))
sqs = sqs.filter(attribute_codes='power', attribute_values__range=(40, 50))
而且它產生這樣的查詢:
(site:(6) AND attribute_codes:(power) AND attribute_values:(["20" TO "30"]) AND attribute_values:(["40" TO "50"]))
但是,我需要這樣的查詢:
(site=6) AND ((attributes1) OR (attributes2))
所以我試圖改變過濾屬性爲filter_or
:
sqs = sqs.filter_or(attribute_codes='power', attribute_values__range=(20, 30))
sqs = sqs.filter_or(attribute_codes='power', attribute_values__range=(40, 50))
,其結果是:
(site:(6) OR (attribute_codes:(power) AND attribute_values:(["20" TO "30"])) OR (attribute_codes:(power) AND attribute_values:(["40" TO "50"])))
但我需要其他人:
(site=6) AND ((attributes1) OR (attributes2))
那麼,如何才能做到這一點? 幫助我,請
非常感謝幫助 –