web-dev-qa-db-ja.com

OR演算子Djangoモデルクエリ

Django filter()関数でOR演算子を使用しようとしています。現在、

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'])

誰でもこれを行う方法を知っていますか?

38
Adam

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