DEV

[Django] 댓글 기능 - Manager 활용하기 (_set)

강연신 2018. 7. 17. 16:47

이번 글은 댓글 기능에 사용되는 _set 기능을 간단하게 설명해 보려한다.


댓글 구현 기능은 구글에 검색하면 정말 많고 개념을 이해하는 게 우선일듯해서 따로 찾아보는 걸 추천한다. 💁🏻‍♂️



우선 특정 포스팅 내용에서 저장된 모든 댓글을 불러오기 위해 Manager 를 사용하면 손 쉽게 query_set 을 리턴 할 수 있다.


어떤 모델(Post)에서 자신을 foreign key로 가지고 있는 모델(Comment)에 접근하기위해 Manager 사용한다고 이해하면 쉽다.


Manager 명명법 : FOO_set (단, FOO 는 소문자 source model name) 

Manager : QuerySet 반환


예시로 {{ post.comment_set.all.count }} 를 사용하게 되면 특정 게시물 댓글의 개수를 반환한다.


{{ post.comment_set.all }} 는 말그대로 모든 댓글을 리턴하며 filter, order_by 를 사용하여 원하는 쿼리셋을 얻을 수 있다.