inflearn logo
강의

講義

知識共有

Django REST Framework の要点

PostList 出力フォーマットを合わせる

PostCommentListAPIView(게시물 댓글 조회 api) 관련 질문

解決済みの質問

211

clover

投稿した質問数 2

0

https://www.inflearn.com/questions/626618

해당 질문을 올렸던 수강생입니다!

  1. PostCommentListAPIView는 각 게시물에 달린 댓글의 list를 조회하고자 합니다. 
    이에 대해 어떻게 코드를 구현하면 좋을 지 여쭤보고 싶습니다! 
  2. CommentDeleteAPIView는 게시물의 댓글을 삭제하는 api인데, 이것 또한 위 코드로 작성했을 경우 제대로 댓글이 삭제되지 않아 조언을 구하고 싶습니다.

    위 질문들에서 2번은 해결하였고, 1번 관련 코드를 작성하던 중 몇몇 에러가 발생하여 질문드립니다.

위 코드를 실행하면 

MultipleObjectsReturned

get() returned more than one Comment -- it returned 2!

3번 포스트에 댓글이 2개 존재하는 상황에서 이러한 에러가 떠서, 애초에 시도했었던 

get_queryset을 다시 사용하려고 했지만

다음과 같이 작성하면 

Field 'id' expected a number but got <doeco_app.views.PostCommentListAPIView object at 0x00000233D4818BB0>.

해당 에러가 발생하는 상황입니다.
int 값으로 형변환이 필요한 상황이라고 생각하여 형변환도 시도해보았지만
여전히 같은 에러가 발생하여 조언을 구하고 싶습니다!

rest-api django

回答 1

0

bestdjango

안녕하세요. 독자님.

1. 부모 지네릭뷰인 ListAPIView 로직을 보면,

get_queryset() 메소드는 대상 QuerySet 을 만들어 리턴해 주는 역할을 합니다.

그 이후에 Serializer 처리 및 응답 처리는 변경할 게 없구요.

그래서 아래 처럼 get_queryset() 메소드만 오버라이딩해주면 됩니다.

class PostCommentListAPIView(ListAPIView):
    serializer_class = CommentSerializer

    def get_queryset(self):
        postId = self.kwargs.get('pk')
        qs = Comment.objects.filter(post=postId)
        return qs

시도해보고 안되면 다시 질문해 주세요.

 

블로그 첫 화면이 안 나옵니다.

0

317

3

INSTALLED_APPS 순서

0

246

1

vscode 실행안됨

0

667

3

django venv activate 하고 나서 vue 서버도 실행 해야 하나요?

0

367

2

더 공부할게있을까요

0

369

1

용어에 대해 문의 드립니다.

0

283

2

like 기능을 위한 overriding 문의

0

322

1

코드 최적화 과정

0

363

1

유저 1명이 1개의 게시글에 좋아요를 누를 경우

0

356

1

프로잭트를 생성하고 runserver하면 ModuleNotFoundError: No module named 발생해요

0

894

4

GET Method 에서 왜 Like 수를 증가시키는지 궁금합니다.

0

376

1

CSRF Token에 대한 질문입니다.

0

609

1

ModuleNotFoundError: No module named 'rest_framework django' 오류

0

3037

1

앱을 구성할 때 api 앱과 blog 앱을 나누어서 구성하는 이유가 궁금합니다ㅜ

1

472

2

to_representation() 오버라이딩 질문입니다.

0

496

3

공부 순서에 관해 질문드립니다.

0

360

1

CateTagAPIView에서 get 메소드

1

309

2

깃헙 페이지를 보고싶어요

0

230

1

디버거 관련 질문입니다.

0

277

3

가장 마지막강의 (Generic View -> ViewSet migration) 질문입니다.

0

223

1

댓글 보기 및 삭제 api

0

279

1

post, comment crud 질문

0

228

4

CateTagSerializer 질문입니다!

3

336

3

The serializer field might be named incorrectly and not match any attribute or key on the `User` instance.

0

839

1