반응형
파이썬 Django QuerySet : Get Data
모델에서 QuerySet으로 데이터를 가져오는 방법에는 여러 가지가 있다.
파이썬 Django QuerySet valuse() 메소드
values() 메서드를 사용하면 이름과 값을 키/값 쌍으로 사용하여 각 개체를 Python 사전으로 반환할 수 있다:
template.html <!DOCTYPE html> <html> <body> <p>The queryset object:</p> {{ mymembers }} <p>Loop through the items:</p> <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> </body> </html> |
views.py from django.http import HttpResponse from django.template import loader from .models import Member def testing(request): mydata = Member.objects.all().values() template = loader.get_template('template.html') context = { 'mymembers': mydata, } return HttpResponse(template.render(context, request)) # Check out template.html to see how the mymembers object # was used in the HTML code. |
위의 코드를 실행하면 아래 그림과 같다.
파이썬 Django QuerySet values_list() ; 특정 열 반환
values_list() 메서드를 사용하면 지정한 열만 반환할 수 있다.
이름 열만 반환한다:
template.html <!DOCTYPE html> <html> <body> <p>The queryset object:</p> {{ mymembers }} <p>Loop through the items:</p> <table border='1'> {% for x in mymembers %} <tr> <td>{{ x }}</td> </tr> {% endfor %} </table> </body> </html> |
views.py from django.http import HttpResponse from django.template import loader from .models import Member def testing(request): mydata = Member.objects.values_list('firstname') template = loader.get_template('template.html') context = { 'mymembers': mydata, } return HttpResponse(template.render(context, request)) # Check out template.html to see how the mymembers object # was used in the HTML code. |
위의 코드를 실행하면 아래 그림과 같다.
파이썬 Django QuerySet filter() ; 특정 행 반환
filter() 메서드를 사용하여 검색을 특정 행/레코드만 반환하도록 필터링할 수 있다.
이름이 'Emil'인 레코드만 반환한다
template.html <!DOCTYPE html> <html> <body> <p>The queryset object:</p> {{ mymembers }} <p>Loop through the items:</p> <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> </body> </html> |
views.py from django.http import HttpResponse from django.template import loader from .models import Member def testing(request): mydata = Member.objects.filter(firstname='Emil').values() template = loader.get_template('template.html') context = { 'mymembers': mydata, } return HttpResponse(template.render(context, request)) # Check out template.html to see how the mymembers object # was used in the HTML code. |
위의 코드를 실행하면 아래 그림과 같다.
이번 글에서는 파이썬 Django QuerySet에 데이터를 얻는 방법에 대해서 살펴보았다.
파이썬 Django QuerySet에서 데이터를 모두 얻는 values() 메소드, 특정 열을 추출하는 values_list() 메소드, 특정 행을 추출하는 filter() 메소드를 실습하였다.
꼭 손으로 눈으로 머리로 익히며 실습하기를 바란다.
모두 화이팅입니다.!!!
출처 : 이 글의 출처는 w3schools사이트를 참고하였으며 필자가 추가하여 정리한 글입니다.
반응형
'파이썬 > 파이썬기본문법' 카테고리의 다른 글
파이썬 Django QuerySet - order_by() (0) | 2024.03.13 |
---|---|
파이썬 Django QuerySet filter (2) | 2024.03.12 |
파이썬 Django QuerySet (0) | 2024.03.10 |
파이썬 Django include 태그 (0) | 2024.03.09 |
파이썬 Django 주석(Comments) (0) | 2024.03.08 |
댓글