[Django] 05. queryset 과 method
안녕하세요 강민성입니다.
저번 시간에는 models에 대해서 알아보았습니다.
models 에서는 어떤 데이터를 다룰지 알려주는 법과
이를 데이터베이스와 연동하는 것도 알아보았습니다.
이번에는 이 데이터를 어떻게 화면에 가져올지 알아보도록 하겠습니다.
queryset 과 method
아쉽게도 models 에 있는 내용을 화면에 바로 가져오지는 못합니다.
중간에 views 를 거쳐서 가져와야 하는데 그 과정을 알아보도록 하겠습니다.
먼저 저번 시간에 만들었던 model.py 부터 확인해보겠습니다.
자세한 설명은 여기를 클릭해주세요.
이번에는 모델의 내용을 불러오기 위해서 views.py를 작성해도록 하겠습니다.
models 에 있는 Blog 클래스를 먼저 import 해주고,
그 Blog에서 objects 메소드를 사용하여 모델의 객체들을 불러옵니다.
이 때 전달받은 객체를 쿼리셋이라고 합니다.
그리고 기본적인 설정을 하고 넘어가겠습니다.
blog 앱 밑에 templates를 만들어주고 그 안에 home.html 을 만들어주고
탬플릿 언어를 통해 views에서 넘겨준 blogs를 넣어주었습니다.
그리고 url도 연결해준 결과,
예상과는 좀 다른 결과가 나왔습니다.
우리가 원하는 결과는 한 객체에 대한 세부 정보입니다.
예를 들면 blog 글의 제목, 내용 등이 되겠죠.
이렇게 세부적인 정보를 얻기 위해서는 쿼리셋 메소드 를 사용해야 합니다.
물론 세부적인 정보 뿐만 아니라 여러 특별한 기능도 수행이 가능합니다.
이를 알아보도록 하겠습니다.
먼저 home.html 을 다음과 같이 수정하였습니다.
all 메소드를 사용하여 모든 객체들을 불러오고 blog는 이를 순회하며,
title, pub_date, body를 나타내게 됩니다.
그 결과는 다음과 같습니다.
글이 늘어나면 아래로 계속해서 생길 것입니다.
마무리
간단하게 퀴리셋과 이 메소드의 활용에 대해서 알아보았습니다.
메소드들은 무궁무진하게 많으니
필요에 따라 찾아서 사용하시길 바랍니다 :)