将Haystack记录放在一起没有模板

时间:2012-05-29 17:47:52

标签: python django django-haystack

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

  

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

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

它可能与覆盖prepare方法(第二个链接)有关。但是在文档中给出的示例中,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

1 个答案:

答案 0 :(得分:1)

您可以在Haystack source中查看其工作原理。基本上,如果prepare为True,SearchField(Haystack字段的基类)上的prepare_template方法的默认实现会调用use_template

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

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