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'))
添加回答
舉報