인프런 커뮤니티 질문&답변

너굴너굴너구리님의 프로필 이미지
너굴너굴너구리

작성한 질문수

Do It! 장고+부트스트랩: 파이썬 웹개발의 정석

tag 페이지 만들기

tag_page 만들 때 질문입니다.

작성

·

190

0

강의 10분 후반에 views.py에 tag_page를 만드는 과정에서 category_page를 복사 붙여넣기 한 후 수정을 하는데 post_list를 넘길 때 카테고리 페이지에서는 Post.objects.filter를 사용했는데 왜 tag에서는 tag.post_set.all()을 사용하는지 궁금합니다. 카테고리나 태그나 어차피 포스트에 있는 요소 중에 하나이고 많은 포스트 중에서 검색해서 가져오는 절차가 크게 다르지 않은 것 같은데 카테고리처럼 필터를 사용해서 해도 상관없나요?

post_set은 어디서 나온건가요?

답변 1

0

SungYong Lee님의 프로필 이미지
SungYong Lee
지식공유자

안녕하세요. 답변이 늦었네요. 

Post.objects.filter(tag=해당 태그) 로 하는 방식과 tag.post_set.all() 로 하는 방식 모두 결과는 동일합니다. 

두가지 방법으로 할 수 있다는 내용을 전달하기 위해 두가지 방법을 모두 보여드렸습니다. 

tag와 post가 ForeignKey로 연결되어 있을 때, 

해당모델명_set 이런 식으로 접근할 수 있다는 점을 알려드리기 위한 예시라고 보시면 됩니다. 

 

tag - post는 ForeignKey가 아니라 

ManyToManyField 로 연결된거 아닌가요?..

너굴너굴너구리님의 프로필 이미지
너굴너굴너구리

작성한 질문수

질문하기