6
有没有一种方法只将模型的过滤部分作为SeachQuerySet?Django Haystack - 搜索非索引许多字段
喜欢的东西:。
查询= SearchQuerySet()模型(Entry.filter(categories__name = '东西'))
,而不是
查询= SearchQuerySet()模型(项)
我想过滤的字段是一个manytomany字段和非索引。
有没有一种方法只将模型的过滤部分作为SeachQuerySet?Django Haystack - 搜索非索引许多字段
喜欢的东西:。
查询= SearchQuerySet()模型(Entry.filter(categories__name = '东西'))
,而不是
查询= SearchQuerySet()模型(项)
我想过滤的字段是一个manytomany字段和非索引。
搜索索引不存储任何关系,因此它是'平坦的'。只能添加您的类别的ID将指数Entry
(请注意,你必须使用一个prepare_
- 方法本):
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()]
的,你可以这样做:
category = Category.objects.get(name='something')
sqs = SearchQuerySet().models(Entry).filter(categories=category.pk)