sed*_*eda 6 django many-to-many django-haystack
有没有办法只将模型的过滤部分作为SeachQuerySet?
就像是:
query = SearchQuerySet().models(Entry.filter(categories__name ='something'))
代替
query = SearchQuerySet().models(Entry)
我想要过滤的字段是一个很多字段而且没有索引.
Ber*_*ant 14
搜索索引不存储任何关系,因此它是"平坦的".您只能将类别的ID添加到索引中Entry
(请注意,您必须使用prepare_
-method):
class EntryIndex(indexes.SearchIndex, indexes.Indexable):
# your other fields
categories = MultiValueField()
def prepare_categories(self, obj):
return [category.pk for category in obj.categories.all()]
Run Code Online (Sandbox Code Playgroud)
你可以这样做:
category = Category.objects.get(name='something')
sqs = SearchQuerySet().models(Entry).filter(categories=category.pk)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2316 次 |
最近记录: |