我希望在列表中搜索所有结果 -
# [ [num, pk], [1, 34], [2, 3147] ...]
# num = [0, 1, 2, ... 7]
pks = [34, 3147,..., 1264]
我希望搜索related__in=pks
,但是这样。
首先.filter(related=pk[0])
,然后.filter(related=pk[1])
...并将结果连接到单个查询。
SO:
我可以在searchqueryset中添加一些字段/数据,以便稍后进行排序吗?
或者可能将许多searchquerysets连接到一个?
答案 0 :(得分:0)
您所描述的是一个Haystack MultiValueField
,允许搜索引擎查询您在答案中暗示的ManyToMany关系。
这是demonstrated in the documentation like so:
class NoteIndex(SearchIndex, indexes.Indexable):
text = CharField(document=True, use_template=True)
author = CharField(model_attr='user')
categories = MultiValueField()
有关如何有效查询此字段的详细信息,请see this related question。