2

干し草の山のドキュメント(以下のリンク)は次のように述べています。

さらに、テキストフィールドにuse_template=Trueを提供しています。これにより、(エラーが発生しやすい連結ではなく)データテンプレートを使用して、検索エンジンが検索に使用するドキュメントを作成できます。

連結を使用してドキュメントを作成するにはどうすればよいでしょうか。例が見つかりませんでした。

これは、prepareメソッド(2番目のリンク)のオーバーライドと関係がある可能性があります。ただし、ドキュメントに示されている例では、prepareメソッドがテンプレートと一緒に使用されているため、2つも直交している可能性があります。

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基本的に、メソッド on SearchField(Haystack のフィールドの基本クラス)のデフォルトの実装は、prepare_templateif use_templateis True を呼び出します。

テンプレートを使用したくない場合は、実際に連結を使用できます。これは、必要なデータを何かで区切って結合するのと同じくらい簡単です (ここでは改行を使用しています)。

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

于 2012-05-29T18:09:48.973 に答える