[Django] lookup
Field lookup
: SQL의 WHERE에 해당되는 기능으로 filter, get, exclude등 메소드로 얻게되는 queryset에 조건을 건다
사용법
ex) model.objects.filter(data__exact = 'temp')
-> 모델에서 data field의 value가 'temp'와 일치하는 것들을 수집한다.
lookup 종류
exact : 정확하게 일치하는 데이터 찾기
iexact : 대소문자 구분하지 않고 정확하게 일치하는 데이터 찾기
contains : 포함하는 문자열 찾기 (대소문자 구분 O)
icontains : 포함하는 문자열 찾기 (대소문자 구분 x)
in : list, tuple, string 등 iterable(값을 차례대로 꺼낼 수 있는 객체입니다)가 해당 필드에 포함되는 경우
gt : 관계연산자 > 과 같은 역할 수행 ex) id__gt = 4 -> id > 4
gte : 관계연산자 >= 과 같은 역할 수행
lt : 관계연산자 < 과 같은 역할 수행
lte : 관계연산자 <= 과 같은 역할 수행
startswith : 해당하는 조건으로 시작하는 (접두사)
istartswith : 해당하는 조건으로 시작하는 (대소문자 구분 x)
endswith : 해당하는 조건으로 끝나는 (접미사)
iendswith : 해당하는 고전으로 끝나는 (대소문자 구분 x)
range : 범위에 해당하는 (날짜)
date타입의 필드인 경우
date, year, month, day, week등도 사용할 수 있다.
https://docs.djangoproject.com/en/3.0/ref/models/querysets/#id4