Study/Web

[Web]Django 쿼리셋(QuerySet)

seomj 2023. 7. 4. 18:54

쿼리셋

QuerySet

전달받은 모델의 객체 목록

데이터베이스로부터 데이터를 읽고, 필터를 걸거나 정렬을 할 수 있다.

 

 

Post 모델을 models.py파일에

post_list 모델은 views.py 파일에

 

HTML 템플릿에서 글 목록을 어떻게 보여줄까?

 

post_list를 뷰에서 보여주고 이를 템플릿에 전달하기 위해서는 모델을 가져와야 함

뷰가 템플릿에서 모델을 선택하도록 만들어야 함

 

blog\views.py

from django.shortcuts import render
from django.utils import timezone
from .models import Post

def post_list(request):
    posts = Post.objects.filter(published_date__lte=timezone.now()).order_by('published_date')
    return render(request, 'blog/post_list.html', {'posts': posts})

models.py 파일에 정의된 Post 모델을 가져오기 위해 import

 

post_list 함수에서 Post 모델에서 블로그 글을 가져오기 위해 쿼리셋을 사용

글 목록을 게시일인 published_date 기준으로 정렬하도록 설정

 

이제 posts 쿼리셋을 템플릿 컨텍스트에 전달

render함수에 템플릿을 사용하기 위해 매개변수를 추가 

 

 

 

<출처>

https://tutorial.djangogirls.org/ko/django_orm/

https://tutorial.djangogirls.org/ko/dynamic_data_in_templates/