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

gang ho lee님의 프로필 이미지
gang ho lee

작성한 질문수

Django REST Framework 핵심사항

PATCH vs GET

PostLikeAPIView 질문드립니다.

작성

·

160

0

안녕하세요. 강의 수강하다가 궁금증이 생겨 질문 작성합니다.

class PostLikeAPIView(UpdateAPIView):

이 부분에서 특정한 Post의 Like 필드의 값을 1로 증가시키는데 View 코드인데(예를 들어, pk 5번의 Post의 Like를 1증가 시킨다.),

queryset = Post.objects.all() 이면 모든 Post Object를 불러오지 않나요? 

 

어느 부분에서 특정한 Post 객체를 가져오는지 궁금합니다.

 

 

 

 

 

 

답변 1

0

김석훈님의 프로필 이미지
김석훈
지식공유자

안녕하세요. 독자님.

강의 4:20 쯤에 get_object() 소스를 보여주는데요. 

    def get_object(self):

        queryset = self.filter_queryset(self.get_queryset())
        # 중간 생략

        filter_kwargs = {self.lookup_field: self.kwargs[lookup_url_kwarg]}
        obj = get_object_or_404(queryset, **filter_kwargs)

        # 중간 생략

        return obj

위 소스에서 (queryset, **filter_kwargs) 구문이 (queryset, pk=5) 와 동일하므로,

queryset 에서 pk 5번 레코드를 가져오는 것입니다.

위 소스를 그대로 가져와서, print() 문장을 넣거나 PyCharm 디버거로 분석해 보는 것도 도움이 될 것입니다.

gang ho lee님의 프로필 이미지
gang ho lee

작성한 질문수

질문하기