我希望能够在查询时返回实际的对象列表,而不是具有Hit对象的ResultSet。
示例:
indexer.search(word).prefetch()
这将返回具有匹配匹配的ResultSet对象,但我希望能够访问对象本身。类似于:
model.objects.filter(name__icontains=word)
会回来。 我不仅仅使用第二个选项的原因是我无法搜索不同模型的交叉对象,这可以通过索引来完成。
感谢
答案 0 :(得分:0)
我明白了。该对象毕竟返回。它可以通过以下方式访问:
results = indexer.search(word).prefetch()
for hit in results:
print hit.instance.model_attribute
其中model_attribute
将是返回对象的现有变量
我相信类函数也可以在model_attribute中调用(最后添加了括号)
但请注意,在搜索跨模型时,不同模型可能存在“model_attribute
”,也可能不存在“{{1}}”。这可能会导致错误。
我希望djapian有更多关于此的文档,因为我根本找不到它