Verwendung: Heuhaufen und Sorl.Django Heuhaufen. Und oder in Suchabfragensatz
Ich brauche ein Suchabfragenset, um Produkte nach Filter zu suchen.
Erstens muss ich nur Produkte basierend auf meiner Website (Django Site Framework) filtern. So tue ich:
sqs = sqs.filter(site=site.pk)
Es gibt solche Suchkriterien:
site:(6)
OK.
Dann brauche ich nach Attributen filtern:
sqs = sqs.filter(attribute_codes='power', attribute_values__range=(20, 30))
sqs = sqs.filter(attribute_codes='power', attribute_values__range=(40, 50))
Und es erzeugt eine solche Abfrage:
(site:(6) AND attribute_codes:(power) AND attribute_values:(["20" TO "30"]) AND attribute_values:(["40" TO "50"]))
Aber ich brauche eine Abfrage wie folgt zu machen:
(site=6) AND ((attributes1) OR (attributes2))
Also habe ich versucht, die Filterung nach Attributen zu 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))
Und das Ergebnis ist:
(site:(6) OR (attribute_codes:(power) AND attribute_values:(["20" TO "30"])) OR (attribute_codes:(power) AND attribute_values:(["40" TO "50"])))
Aber ich brauche sonst:
(site=6) AND ((attributes1) OR (attributes2))
Also, wie dies zu tun? Helfen Sie mir, bitte
Vielen Dank ermöglicht die Verwendung –