작성
·
190
0
강의 10분 후반에 views.py에 tag_page를 만드는 과정에서 category_page를 복사 붙여넣기 한 후 수정을 하는데 post_list를 넘길 때 카테고리 페이지에서는 Post.objects.filter를 사용했는데 왜 tag에서는 tag.post_set.all()을 사용하는지 궁금합니다. 카테고리나 태그나 어차피 포스트에 있는 요소 중에 하나이고 많은 포스트 중에서 검색해서 가져오는 절차가 크게 다르지 않은 것 같은데 카테고리처럼 필터를 사용해서 해도 상관없나요?
post_set은 어디서 나온건가요?
답변 1
0
안녕하세요. 답변이 늦었네요.
Post.objects.filter(tag=해당 태그) 로 하는 방식과 tag.post_set.all() 로 하는 방식 모두 결과는 동일합니다.
두가지 방법으로 할 수 있다는 내용을 전달하기 위해 두가지 방법을 모두 보여드렸습니다.
tag와 post가 ForeignKey로 연결되어 있을 때,
해당모델명_set 이런 식으로 접근할 수 있다는 점을 알려드리기 위한 예시라고 보시면 됩니다.
tag - post는 ForeignKey가 아니라
ManyToManyField 로 연결된거 아닌가요?..