본문 바로가기
파이썬/파이썬기본문법

파이썬 Django QuerySet

by flycoding 2024. 3. 10.
반응형

파이썬 Django QuerySet

QuerySet은 데이터베이스의 데이터 모음이다.

QuerySet은 개체 목록으로 작성된다.

QuerySets를 사용하면 초기 단계에서 데이터를 필터링하고 순서를 지정할 수 있으므로 실제로 필요한 데이터를 쉽게 얻을 수 있다.

이 자습서에서는 구성원 테이블에서 데이터를 조회한다.

Member:

id first name last name phone joined_date
 1   Emil   Refsnes   5551234   2022-01-05 
 2   Tobias   Refsnes   5557777   2022-04-01 
 3   Linus   Refsnes   5554321   2021-12-24 
 4   Lene   Refsnes   5551234   2021-05-01 
 5   Stalikken   Refsnes   5559876   2022-09-29 

 

파이썬 Django QuerySet Queryin Data(데이터 조회)

views.py 에는 다양한 쿼리를 테스트하는 테스트라는 테스트 뷰가 있다.

아래 예제에서는 .all() 메서드를 사용하여 Member 모델의 모든 레코드와 필드를 가져온다:

views.py

from django.http import HttpResponse
from django.template import loader
from .models import Member

def testing(request):
  mydata = Member.objects.all()
  template = loader.get_template('template.html')
  context = {
    'mymembers': mydata,
  }
  return HttpResponse(template.render(context, request))

 

개체는 mydata라는 변수에 배치되며 컨텍스트 개체를 통해 템플릿으로 전송되며 다음과 같다:

<QuerySet [
  <Member: Member object (1)>,
  <Member: Member object (2)>,
  <Member: Member object (3)>,
  <Member: Member object (4)>,
  <Member: Member object (5)>
]>

 

보시다시피 저희 멤버 모델에는 5개의 레코드가 포함되어 있으며 QuerySet 내에 5개의 오브젝트로 나열되어 있다.

템플릿에서 mymembers 개체를 사용하여 콘텐츠를 생성할 수 있다:

template.html

<table border='1'>
  <tr>
    <th>ID</th>
    <th>Firstname</th>
    <th>Lastname</th>
  </tr>
  {% for x in mymembers %}
    <tr>
      <td>{{ x.id }}</td>
        <td>{{ x.firstname }}</td>
      <td>{{ x.lastname }}</td>
    </tr>
  {% endfor %}
</table>

위의 코드를 실행하면 아래 그림과 같다.

파이썬 Django queryset 데이터 조회(querying data) 활용 예제

 

이번 글에서는 파이썬 Django QuerySet을 활용하여 데이터를 조회하고 화면에 출력하는 방법에 대해서 살펴보았다.

꼭 손으로 눈으로 머리로 익히며 실습하기를 바란다.
모두 화이팅입니다.!!!

출처 : 이 글의 출처는 w3schools사이트를 참고하였으며 필자가 추가하여 정리한 글입니다.

반응형

댓글