Django_ Q()객체

강현구·2022년 1월 12일
0

Django

목록 보기
7/12

Q

filter메서드의 다양한 필터 조건을 설정하기 위한 아무것도 없는 빈 객체..
껍데기만 있으며, ORM의 filter()에 들어가 Queryset의 필터조건이된다.

-> 장고의 ORM은 중요하니 계속해서 공부해보자!!

'_ _'

Q객체 안에 id = 변수와 같이 직접 지정되는 경우도 있겠지만,
(이 경우에는 필터링하는 항목이 filter메서드를 사용하는 대상 테이블에 포함된 필드일 경우이다.)
대상 테이블 밖의 다른 테이블을 참조, 연결해야하는 경우에는 Q객체의 괄호안에 언더스코어 두개를 쓰면서 다른 테이블로 넘어가서 그 테이블의 항목에 대해서 필터링을 추가해줄 수 있다.

_ _in

_ _in 앞에오는 변수에 값을 여러개 받았을 때 반복해서 하나씩 받아올수 있다. (리스트에서 하나씩 빼다 쓰는 for문의 역할이라고 보면된다.)
보통 query parameter값을 받을 때, getlist메서드를 써서 리스트로 값을 받아오는 경우에 사용하게된다.
또는 참조해서 넘어가다가 ManytoMany field를 만날경우 다수의 결과값이 필터링 되기 때문에 이럴경우 _ _in 으로 처리해야한다.

FK_ _'field_column_name'

객체의 FK를 참조해서 바라본 테이블에서의 필드의 값을 쓴다.

공부 링크!
장고 공식문서
참고사이트
블로그, ***블로그2, 블로그3

profile
한걸음씩

0개의 댓글