inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Các điểm chính của Django REST Framework

Tùy chỉnh định dạng đầu ra của PostList

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

Đã giải quyết

211

clover

2 câu hỏi đã được viết

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

Câu trả lời 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

364

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

280

1

post, comment crud 질문

0

228

4

CateTagSerializer 질문입니다!

3

337

3

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

0

841

1