Reputation: 3093
I'm trying to use an OR
operator in the Django filter()
function. Right now I have
contactlist = Contact.objects.filter(last_name__icontains=request.POST['query'])
but I also want to search by first name as well. For example:
contactlist = Contact.objects.filter(last_name__icontains=request.POST['query'] OR first_name__icontains=request.POST['query'])
Does anyone know how to do this?
Upvotes: 50
Views: 44405
Reputation: 147
result = Contact.objects.filter(last_name__icontains=request.POST['query']) | Contact.objects.filter(first_name__icontains=request.POST['query'])
Upvotes: 13
Reputation: 118458
from django.db.models import Q
Contact.objects.filter(Q(last_name__icontains=request.POST['query']) |
Q(first_name__icontains=request.POST['query']))
Upvotes: 125