OR
연산으로 여러 조건 중 하나라도 만족하는 행을 구해야 하는 경우가 많습니다.이름이 ‘R’로 시작하거나 성이 ‘D’로 시작하는 모든 사용자를 구한다고 해 봅시다.
SELECT username, first_name, last_name, email
FROM auth_user
WHERE first_name LIKE 'R%' OR last_name LIKE 'D%';
str(쿼리셋.query)
queryset = User.objects.filter(
first_name__startswith='R'
) | User.objects.filter(
last_name__startswith='D'
)
from django.db.models import Q
qs = User.objects.filter(Q(first_name__startswith='R')|Q(last_name__startswith='D'))
AND
연산으로 여러 조건을 모두 만족하는 행을 구해야 하는 경우가 많습니다.이름이 ‘R’로 시작하고 성이 ‘D’로 시작하는 모든 사용자를 구한다고 해 봅시다.
SELECT username, first_name, last_name, email
FROM auth_user
WHERE first_name LIKE 'R%' AND last_name LIKE 'D%';
str(쿼리셋.query)
queryset_1 = User.objects.filter(
first_name__startswith='R',
last_name__startswith='D'
)
queryset_2 = User.objects.filter(
first_name__startswith='R'
) & User.objects.filter(
last_name__startswith='D'
)
queryset_3 = User.objects.filter(
Q(first_name__startswith='R') &
Q(last_name__startswith='D')
)