본문 바로가기

Dev/Django

Django-Model Q()를 사용하여 filter 추가

728x90
반응형

django에서 model을 통해서 DB 조회를 통해 쉽게 데이터를 자기고 울수 있다.

 

다만 where을 추가 하기 위해서 filter에 추가를 해야 하는데 이부분을 Q 객체를 사용해서 쉽게 where절을 만들수가 있다.

 

1. 라이브러리 추가

from django.db.models import Q

 

2. 선언후 사용

q = Q()

q.add(Q(name='조건변수 및 값'), q.OR)
q.add(Q(name='조건변수 및 값')|age='조건변수 및 값'), q.AND)
q.add(Q(height='조건변수 및 값'), q.AND)

q를 선언후 add를 통해서 조건을 추가 하면 된다

 

이후 filter에 q정보를 넣으면 된다.

info.objects.fiter(q)

위의 조건으로 조회 하면 처리가 된다.

만약  Not으로 조회를 하려면 아래와 같이 사용하면 된다.

q.add(!Q(name='kim'))
q.add(!Q(name='kim'), Q.OR)

위와 같이 사용하면 Not 사용 가능하다.

728x90
반응형