django 10. QuerySet

dev-somi·2022년 1월 20일

django

목록 보기
9/13

1. chaining을 지원한다.

filter를 통해서 새로운 QuerySet을 만든다.

query = 'f' #검색어
qs = Post.objects.all().filter(message_icontains=query)
#필드명 __ 관련된 operations (각 필드에 따라 지원되는 operations가 달라진다.)
qs

2. Lazy한 특성이다.

  • QuerySet을 만드는 동안에는 DB 접근을 안 한다.
  • 실제로 데이터가 필요한 시점에 접근한다.
    (순회를 돌거나, 쿼리셋을 출력하거나, 리스트를 출력할 때 등등)

3. 다양한 조회요청 방법

  • 조건을 추가한 QuerySet
    filter(), exclude() 등등
  • 특정 모델객체 1개 획득
    queryset[숫자인덱스]
    queryset.get() : 한 개를 획득하기 때문에 없거나 두 개 이상이 획득되면 error 발생한다.
    queryset.first()
    queryset.last()
  • and 조건: 콤마(,)
  • or 조건

4. 정렬 조건 추가

  • 모델 클래스의 Meta 속성으로 지정: list로 지정
  • 모든 queryset에 order_by() 지정

유용한 템플릿 기능: https://getbootstrap.com
장고 extensions: https://django-extensions.readthedocs.io/en/latest/

0개의 댓글