Inflearn Community Q&A
PostLikeAPIView 질문드립니다.
Written on
·
190
0
안녕하세요. 강의 수강하다가 궁금증이 생겨 질문 작성합니다.
class PostLikeAPIView(UpdateAPIView):

이 부분에서 특정한 Post의 Like 필드의 값을 1로 증가시키는데 View 코드인데(예를 들어, pk 5번의 Post의 Like를 1증가 시킨다.),
queryset = Post.objects.all() 이면 모든 Post Object를 불러오지 않나요?
어느 부분에서 특정한 Post 객체를 가져오는지 궁금합니다.
djangorest-api
Answer 1
0
bestdjango
Instructor
안녕하세요. 독자님.
강의 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 디버거로 분석해 보는 것도 도움이 될 것입니다.





