2017-07-18 11 views
1
def get_queryset(self): 
     key = self.request.GET['search_text'] 
     customer_list = customer_info.objects.all() 
     # temp = 
     for term in key.split(): 
      temp = temp | customer_list.filter(Q(fName__icontains=term)|Q(lName__icontains=term)) 
     return temp 

tempをnullに設定してcustomer_infoオブジェクトのクエリセットを割り当てることで、フィルタリストとtempを結合して返すことができます。基本的には、検索ボックスのテキストを分割し、リスト内の各文字列で表をフィルタリングし、結果の初期結果を結合します。djangoでヌルまたは空のクイズセットを取得する

+0

ノートのPythonとDjangoでの推奨スタイルにありますモデルに「CustomerInfo」という名前を付けます。 – Alasdair

答えて

2

あなたはnone()で空のクエリセットを取得することができます別のアプローチではなく、クエリセットを一緒にorQ()オブジェクトである

MyModel.objects.none() 

を:

q = Q() 
for term in key.split(): 
    q = q | Q(fName__icontains=term) | Q(lName__icontains=term) 
return customer_info.objects.filter(q) 
関連する問題