def unlike_comment(self, pk): comment = CommentDetailAPIView().get_object(pk) like = comment.like - 1 comment_serializer = CommentSerializer(comment, data={'like': like}, partial=True) if comment_serializer.is_valid(): comment_serializer.save()
def put(self, request, pk): comment = self.get_object(pk) serializer = CommentSerializer(comment, data=request.data, partial=True) if serializer.is_valid(): serializer.save() return Response(response_data(True, serializer.data)) else: return Response(response_data(False, serializer.errors), status=status.HTTP_400_BAD_REQUEST)
def post(self, request, post_id): custom_request_data = copy.deepcopy(request.data) custom_request_data['post'] = post_id serializer = CommentSerializer(data=custom_request_data) if serializer.is_valid(): serializer.save() return Response(response_data(True, serializer.data)) else: return Response(response_data(False, serializer.errors), status=status.HTTP_400_BAD_REQUEST)
def get_comment(self, request, pk=None): post = self.get_object() queryset = post.comments.all() filter = self.request.query_params.get('author') queryset = queryset.filter(author=filter) serializer = CommentSerializer(instance=queryset, many=True) return Response(data=serializer.data, status=status.HTTP_200_OK)
def get(request, **args): if 'pk' in args.keys(): comment = Comment.objects.get(id=args['pk']) else: comment = Comment.objects.all() serializer = CommentSerializer(comment) json = JSONRenderer().render(serializer.data) return Response(json)
def get(self, request, post_id): qs = Comment.objects.filter(post_id=post_id) comment_serializer = CommentSerializer(qs, many=True) comments = comment_serializer.data for index, comment in enumerate(comments): user = User.objects.get(pk=comment['user']) user_serializer = UserSerializer(user) comments[index]['created_at'] = datetime_formatter( comment['created_at'], '%Y-%m-%d %H:%M:%S') comments[index]['updated_at'] = datetime_formatter( comment['updated_at'], '%Y-%m-%d %H:%M:%S') comments[index]['user'] = user_serializer.data return Response(response_data(True, comments))
def getObjectNoti(request, url_name): univ = request.user.univ content_type = request.GET.get('contentType') object_id = request.GET.get('objectId') if content_type == 10: content = Post.objects.get(pk=object_id) serializer = PostSerializer(content) else: content = Comment.objects.get(pk=object_id) serializer = CommentSerializer(content) data = {'content': serializer.data} return JsonResponse(data)
def comment_list(request, post_id): """ GET | post_id를 기준으로 comment list를 가져옵니다. POST | post_id를 기준으로 comment를 등록합니다. """ post = get_object_or_404(Post, pk=post_id) if request.method == "GET": # 댓글 보여주기 comments = get_list_or_404(Comment, post=post_id) serializer = CommentSerializer(comments, many=True) return Response(serializer.data, status=status.HTTP_200_OK) if request.method == "POST": # 댓글 등록 serializer = CommentSerializer(request.data) if serializer.is_valid( ): #is_valid()에서 비속어 처리도 진행 <- 참고로 comment에는 아직 안넣었는데 복붙할까요? 넵! serializer.save(post=post) return Response(serializer.data, status=status.HTTP_201_CREATED) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def get(self, request, pk): comment = self.get_object(pk) serializer = CommentSerializer(comment) return Response(response_data(True, serializer.data))