Подтвердить что ты не робот

Оператор OR в запросах модели Django

Я пытаюсь использовать оператор OR в функции Django filter(). Прямо сейчас у меня

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

но я также хочу искать по имени. Например:

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

Кто-нибудь знает, как это сделать?

4b9b3361

Ответ 1

Объекты Q

from django.db.models import Q

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

Ответ 2

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