수학과의 좌충우돌 프로그래밍

[Django] 05. queryset 과 method 본문

웹프로그래밍/Django

[Django] 05. queryset 과 method

ssung.k 2019. 2. 24. 02:45

안녕하세요 강민성입니다.


저번 시간에는 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를 나타내게 됩니다.



그 결과는 다음과 같습니다.


글이 늘어나면 아래로 계속해서 생길 것입니다.


마무리



간단하게 퀴리셋과 이 메소드의 활용에 대해서 알아보았습니다.


메소드들은 무궁무진하게 많으니


필요에 따라 찾아서 사용하시길 바랍니다 :)






Comments