2016-07-09 8 views
0

Benutzer drücken Sie die Taste und Suchfeld ist leer, er erhält alle Artikel auf der Seite. code:Wie kann ich überprüfen, dass die Anfrage nicht leer ist

class SearchResultsView(ArticlesView): 

def get_queryset(self, request): 
    if request.POST.has_key('search'): 
     return self.model.objects.filter(
      Q(title__icontains=request.POST['search']) | 
      Q(content__icontains=request.POST['search']) 
      ).distinct() 
    return [] 

Bitte helfen.

Antwort

3

Holen Sie sich die search Parameter und überprüfen, ob es leer ist oder nicht:

search = request.POST.get('search') 
if search: 
    return self.model.objects.filter(
     Q(title__icontains=search) | 
     Q(content__icontains=search) 
     ).distinct() 

get()None zurückkehren würde, wenn Suche nicht gegeben. Wenn search als leere Zeichenfolge übergeben wird, ist die if search Bedingung nicht erfüllt, da leere Zeichenfolge per Definition falsch ist.

+0

alecxe, Danke! – Coveraver

Verwandte Themen