ich einen Heuhaufen suchen haben, die die folgenden Suchindex hat:Django Haystack genaue Filterung
class GrantIndex(indexes.SearchIndex): """ This provides the search index for the Grant application. """ text = indexes.CharField(document=True, use_template=True) year = indexes.IntegerField(model_attr='year__year') date = indexes.DateField(model_attr='date') program = indexes.CharField(model_attr='program__area') grantee = indexes.CharField(model_attr='grantee') amount = indexes.IntegerField(model_attr='amount') site.register(Grant, GrantIndex)
Wenn ich will alle Programme herausfiltern suchen, die NICHT ‚Gesundheit‘ sind, habe ich die folgende Abfrage ausführen:
from haystack.query import SearchQuerySet sqs = SearchQuerySet() sqs = sqs.filter(program='Health')
Leider werden damit auch Objekte aus dem Programm 'Health \ Other' und 'Health \ Cardiovascular' erzeugt. Wie verhindere ich, dass die Suche diese anderen Programme erlaubt?
Ich benutze Ubuntu 9.10 mit Xapian als meine Suche Back-End.
Filter (Programm = "Health") und Filter (program__exact = "Health") sind die gleichen nach der Dokumentation und in der Praxis. – blackrobot