Bir veya daha fazla Organizasyon model örneğine ait olabilmek için Event model örneklerim var. Tüm Etkinliklerimi dizine eklemek için haystack 2.0.0 kullanıyorum. İşte bir örnek arama dizini.Django Haystack: bir listedeki birden çok öğeye dayalı filtre sorgusu.
class EventIndex(indexes.SearchIndex, indexes.Indexable):
text = indexes.CharField(document=True, use_template=True)
organization_slug = indexes.CharField(model_attr='organization__slug',
weight=5.0)
organization_name = indexes.CharField(model_attr='organization__name',
weight=5.0)
name = indexes.CharField(model_attr='name', weight=10.0)
....
def get_model(self):
return Event
def index_queryset(self):
return Event.objects.filter()
sorum ben bir veya birkaç Kuruluşları dayalı Olaylar filtreleyen bir SearchQuerySet sorgusu oluşturmak nasıl olduğunu. Örneğin, ben gibi
(kuruluşların listesi uzun herhangi bir uzunlukta olabileceği) için "orgnization1" ve "organization3" ait olan tüm Olayları bulmak istiyoruz Django böyle görünebilir sorgulamak a:
Event.objects.filter(organization__in=[orgnization1, organization3]).filter(...)
Bunu bir samanlık sorgusuna nasıl çeviririm? Herhangi bir yardım çok takdir edilir
class Event(models.Model):
name = models.CharField(max_length=64)
organization = models.ForeignKey('mymodule.Organization')
...
class Organization(models.Model):
slug = models.SlugField(max_length=64)
name = models.CharField(max_length=64)
...
: Burada
organization_list = [organization1.slug, organization2.slug]
SearchQuerySet().filter_or(organization__contains=organization_list)
mankenlerim nasıl göründüğü ile ilgili bir örnek ... Bu benim girişimi, ama gerçekten ben ne yaptığımı bilmiyorum.
Bu oldukça eski olduğunu biliyorum ama sen .filter olabilir (organization_slug__in = organization_list) – Nagyman
Güzel kodu: D teşekkürler –