web-dev-qa-db-fra.com

OR opérateur dans Django model queries

J'essaie d'utiliser un opérateur OR dans la fonction Django filter(). En ce moment, j'ai

contactlist = Contact.objects.filter(last_name__icontains=request.POST['query'])

mais je veux aussi effectuer une recherche par prénom. Par exemple:

contactlist = Contact.objects.filter(last_name__icontains=request.POST['query'] OR first_name__icontains=request.POST['query'])

Est-ce que quelqu'un sait comment faire ça?

38
Adam

objets Q

from Django.db.models import Q

Contact.objects.filter(Q(last_name__icontains=request.POST['query']) | 
                               Q(first_name__icontains=request.POST['query']))
100
result = Contact.objects.filter(last_name__icontains=request.POST['query']) | Contact.objects.filter(first_name__icontains=request.POST['query'])
12
Eric