장고 모델에서 Q () 연산자 (or) 사용하는 방법 - TIL 7

2022. 1. 18. 11:44·TIL

장고에서는 기본적으로 and 연산자 방식으로 필터링(filter)을 진행합니다. 다음과 같은 경우에는 name & rating을 모두 만족하는 쿼리셋을 찾는 것입니다.

Book.objects.filter(name='Python Book', rating=5)

Q() 연산자는 논리 연산자 or에 해당하며 다음과 같이 활용할 수 있습니다.

from django.db.models import Q

Books.objects.filter(Q(name='Python Book' | Q(rating>3))

이렇게하면 데이터베이스에서 name 또는 rating 조건중 하나를 만족하는 데이터를 필터링할 수 있습니다.

 

eixsts() 를 사용하면 데이터베이스에서 존재 유무를 확인할 수도 있습니다. 이 경우 True 또는 False 가 리턴됩니다.

Book.objects.filter(name='Python Book', rating=5).exists()

다음과 같이 and와 함께 사용할 수도 있습니다.

Books.objects.filter(Q(name='Python Book' | Q(author='Jeong'), Q(rating>3))

마지막에 Q를 빼면 앞의 Q 조건문 실행 이후 마지막에 실행됩니다.

Books.objects.filter(Q(name='Python Book' | Q(author='Jeong'), (rating>3))
반응형

'TIL' 카테고리의 다른 글

장고 타임 존 설정하기: 한국 시각 설정 - TIL 9  (0) 2022.01.20
HTTP 요청 GET POST 차이점 정리 - TIL 8  (0) 2022.01.19
파이썬 이메일, 비밀번호, URL 유효성 검사 정규 표현식 - TIL 6  (0) 2022.01.16
장고 db_table 이름 지정과 활용 방법 - TIL 5  (0) 2022.01.12
데이터 유형과 데이터베이스 종류 - TIL 4  (0) 2022.01.11
'TIL' 카테고리의 다른 글
  • 장고 타임 존 설정하기: 한국 시각 설정 - TIL 9
  • HTTP 요청 GET POST 차이점 정리 - TIL 8
  • 파이썬 이메일, 비밀번호, URL 유효성 검사 정규 표현식 - TIL 6
  • 장고 db_table 이름 지정과 활용 방법 - TIL 5
휘 Hwi
휘 Hwi
개발자 성장 로그
  • 휘 Hwi
    개발자 로그: 변화를 위한 공간
    휘 Hwi
  • 전체
    오늘
    어제
    • 분류 전체보기 (61)
      • 101 (1)
      • Web | Internet (4)
      • HTML | CSS (4)
      • Python (9)
      • Django (20)
      • Javascript (0)
      • Node.js (0)
      • React (0)
      • React Native (0)
      • Database (1)
      • Git (1)
      • Terminal | Vim (1)
      • Auth | Security (4)
      • AWS (0)
      • Docker (0)
      • Kubernetest (1)
      • Deployment (1)
      • Project (2)
      • TIL (12)
  • 블로그 메뉴

    • 홈
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    css
    깃 ssh
    깃
    깃 에러 해결
    JWT 디코딩
    요소 상대 크기
    파라미터
    새 탭에서 열기
    JWT 인코딩
    장고 Views
    요소 크기 설정
    HTTP GET 요청
    장고
    배포
    프로젝트 회고
    TIL
    함수
    깃 퍼블릭 키 등록
    탭내빙
    html
    HTTP
    장고 URL
    JWT
    파이썬
    요소 절대 크기
    깃 오류
    target="_blank"
    HTTP POST 요청
    장고 프로젝트
    정규 표현식
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
휘 Hwi
장고 모델에서 Q () 연산자 (or) 사용하는 방법 - TIL 7
상단으로

티스토리툴바