2

haystack 文档(下面的链接)做出了这样的声明:

此外,我们在文本字段中提供 use_template=True 。这允许我们使用数据模板(而不是容易出错的连接)来构建搜索引擎将在搜索中使用的文档。

如何使用串联来构建文档?我找不到一个例子。

它可能与覆盖准备方法有关(第二个链接)。但是在文档中给出的示例中,prepare 方法与模板一起使用,因此两者也可能是正交的。

https://github.com/toastdriven/django-haystack/blob/master/docs/tutorial.rst

http://django-haystack.readthedocs.org/en/latest/searchindex_api.html#advanced-data-preparation

4

1 回答 1

1

您可以在Haystack 源代码中看到它是如何工作的。基本上,prepare方法的默认实现SearchField(Haystack 字段的基类)调用prepare_templateifuse_template为 True。

如果您不想使用模板,您确实可以使用连接 - 它就像将您想要的数据连接在一起一样简单,用一些东西分隔(这里我使用了换行符):

def prepare_myfield(self, obj):
    return self.cleaned_data['field1'] + '\n' + self.cleaned_data['field2']

等等

于 2012-05-29T18:09:48.973 回答