Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class CommentViewSet(viewsets.ModelViewSet):
- queryset = Comment.objects.all()
- serializer_class = CommentSerializer
- permission_classes = [permissions.IsAuthenticated | ReadOnly]
- def put(self, request, pk):
- if Comment.objects.get(pk=pk).exists():
- if request.user == Comment.objects.get(pk=pk).author:
- comment = Comment.objects.get(pk=pk)
- data = self.request.data
- data['comment'] = comment.id
- serializer = CommentSerializer(
- data=data, context={'request': self.request})
- serializer.is_valid(raise_exception=True)
- self.perform_create(serializer)
- return Response(serializer.data, status=status.HTTP_201_CREATED)
- return Response(status=status.HTTP_403_FORBIDDEN)
- return Response(status=status.HTTP_400_BAD_REQUEST)
- def create(self, *args, **kwargs):
- if int(self.kwargs['post_id']) > 0:
- post = Post.objects.get(pk=int(self.kwargs['post_id']))
- data = self.request.data
- data['post'] = post.id
- serializer = CommentSerializer(
- data=data, context={'request': self.request})
- serializer.is_valid(raise_exception=True)
- self.perform_create(serializer)
- return Response(serializer.data, status=status.HTTP_201_CREATED)
- return Response(status=status.HTTP_400_BAD_REQUEST)
- def perform_create(self, serializer):
- serializer.save(author=self.request.user)
- def get_queryset(self):
- post_id = int(self.kwargs['post_id'])
- return Comment.objects.filter(post__id=post_id)
- class UserViewSet(viewsets.ReadOnlyModelViewSet):
- queryset = User.objects.all()
- serializer_class = UserSerializer
Advertisement
Add Comment
Please, Sign In to add comment