2017-05-15 38 views
1

検索機能にdjango-taggitタグを追加する際に助けが必要です。私は現在、ここで見つけた検索機能(Search page on the django)を使用しています。これにtaggitを組み込む方法はありますか?あるいは、私はHaystackのようなパッケージを使うのが良いですか?これは私の会社のためのシンプルな内部Webアプリケーション、〜3-4軽いユーザーのためのものです。このに基づいて、より多くの監督問題ではなく、意見をしようとしてdjango-taggitタグを検索

EDIT

。以下は私が現在使っている検索機能です。 django-taggitテーブル、taggit_tag(単語が格納されている場所)とtaggit_taggeditem(メインモデルとの関係が格納されている場所)を使ってこれらのレコードを取得し、一意のPKのみを保持しながらentry_queryを結合するにはどうすればよいですか?

def search(request): 
found_entries = None 
if ('q' in request.GET) and request.GET['q'].strip(): 
    # query_string is a separate function that simple cleans the search string that is passed in by the user 
    query_string = request.GET['q'] 
    entry_query = get_query(query_string, ['company_name', 'stock_symbol', 'address']) 
    found_entries = Company.objects.filter(entry_query).order_by('company_name')\ 
     .annotate(num_transcripts=Count('transcripts')) 

return render_to_response('company_list.html', {'all_companies': found_entries}) 
+0

こんにちは、フィリップ。現在述べているように、あなたの質問は、ここで話題にならない意見ベースの回答を集める可能性が高いです。それをリファクタリングして、今やっていることとその問題点について、再現性のあるスニペットを表示してみてください。 –

+0

Paulo、コメントありがとう、私は上記の質問を更新しました。 – pheeper

答えて

1

前回私はquery_statementに 'tags'を追加しようとしましたが、今は動作しません。他の誰かが同様の問題を抱えている場合にこれに答えてください。

def search(request): 
found_entries = None 
if ('q' in request.GET) and request.GET['q'].strip(): 
    query_string = request.GET['q'] 
    entry_query = get_query(query_string, ['company_name', 'stock_symbol', 'address', 'tags']) 
    found_entries = Company.objects.filter(entry_query).order_by('company_name')\ 
     .annotate(num_transcripts=Count('transcripts')) 

return render_to_response('company_list.html', {'all_companies': found_entries})