2012-05-29 39 views
1

草堆文件(以下鏈接)使得此語句:把草堆記錄在一起,沒有模板

此外,我們提供use_template =在文本字段真。 這允許我們使用數據模板(而不是容易出錯的錯誤 串聯)來構建搜索引擎將在 搜索中使用的文檔。

一個人怎麼會去使用連接來構建文檔?我找不到一個例子。

它可能與重寫準備方法有關(第二個鏈接)。但在文檔中給出的示例中,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

你可以看到它是如何工作的Haystack source。基本上,prepare方法對SearchField的默認實現(乾草堆的字段的基類)調用prepare_template如果use_template爲True。

如果你不想使用模板,你的確可以使用串聯 - 它是那樣簡單剛剛加盟你想在一起的數據,通過分離的東西(在這裏我用了一個換行符):

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