亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何獲得與 django Rest Framework 中的帖子相對應的評論?

如何獲得與 django Rest Framework 中的帖子相對應的評論?

鳳凰求蠱 2023-09-12 17:21:21
我將創建一個 API,當我向路由器發送請求并將評論附加到帖子的 pk 值時,它只會顯示帖子中的評論。所以網址如下。寫完py和views.py后,發送請求,出現404錯誤。如何通過編寫 API 來獲取評論?這是我制作的代碼。urls.pyurlpatterns = [    path('post', CreateReadPostView.as_view({'post': 'create', 'get': 'list'})),    path('post/<int:pk>', UpdateDeletePostView.as_view({'put': 'update', 'patch': 'partial_update', 'delete': 'destroy'})),    path('post/<int:post.pk>/comments', CreateReadCommentView.as_view({'post': 'create', 'get': 'list'})),] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)views.pyclass CreateReadCommentView (ModelViewSet) :    serializer_class = CommentSerializer    permission_classes = [IsAuthenticated]    queryset = Comment.objects.all()    def perform_create (self, serializer) :        serializer.save(author=self.request.user)
查看完整描述

1 回答

?
泛舟湖上清波郎朗

TA貢獻1818條經驗 獲得超3個贊

您可以重寫該get_queryset()方法。


models.py


class Post(models.Model):

    ...


class Comment(models.Model):

    post = models.ForeignKey(Post, on_delete=models.CASCADE)

    ...

urls.py


urlpatterns = [

    ...

    path('post/<int:post_id>/comments', CreateReadCommentView.as_view({'post': 'create', 'get': 'list'})),

]

views.py


class CreateReadCommentView (ModelViewSet):

    serializer_class = CommentSerializer

    permission_classes = [IsAuthenticated]

    queryset = Comment.objects.all()


    def perform_create(self, serializer):

        serializer.save(author=self.request.user)


    def get_queryset(self):

        return super().get_queryset().filter(post=self.kwargs.get('post_id'))


查看完整回答
反對 回復 2023-09-12
  • 1 回答
  • 0 關注
  • 138 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號