Example #1
0
 def put(self, request, *args, **kwargs):
     comment = self.get_object(movie_id=kwargs.get('movie_id'),
                               pk=kwargs.get('pk'))
     serializer = CommentSerializer(comment, data=request.data)
     if serializer.is_valid():
         serializer.save()
         return Response(serializer.data)
     return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Example #2
0
 def post(self, request, *args, **kwargs):
     movie = Movie.objects.get(id=kwargs.get('movie_id'))
     author = MyUser.objects.get(pk=request.user.pk)
     serializer = CommentSerializer(data=request.data)
     if serializer.is_valid():
         serializer.validated_data['movie'] = movie
         serializer.validated_data['author'] = author
         serializer.save()
         return Response(serializer.data, status=status.HTTP_201_CREATED)
     return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Example #3
0
    def get(self, request, *args, **kwargs):
        box_office = BoxOfficeMovie.objects.all().order_by('-created')[:10]

        # 박스오피스 안에 있는 댓을 리스트업
        comments = []
        for i in box_office:
            comment = Comment.objects.filter(movie__pk=i.movie.pk)
            for k in comment:
                comments.append(k)
        # print('첫번째', comments)

        # 5개 뽑아서 1개 랜덤 출력
        comments = sorted(comments,
                          key=attrgetter('likes_count'),
                          reverse=True)
        comments = comments[:5]
        # print('두번째', comments)
        if len(comments) == 0:
            raise NotAcceptable('코멘트가 없습니다')
        else:
            best_comment = random.sample(comments, 1)

        serializer = CommentSerializer(best_comment, many=True)
        return Response(serializer.data)
Example #4
0
 def get(self, request, *args, **kwargs):
     comment = Comment.objects.exclude(content__isnull=True).exclude(
         content__exact='').order_by('-created')[:6]
     serializer = CommentSerializer(comment, many=True)
     return Response(serializer.data)
Example #5
0
 def get(self, request, *args, **kwargs):
     comments = Comment.objects.filter(movie=self.kwargs['pk'])
     top_comment = comments.annotate(
         num_likes=Count('like_users')).order_by('-num_likes')[:3]
     serializer = CommentSerializer(top_comment, many=True)
     return Response(serializer.data)
Example #6
0
 def get(self, request, *args, **kwargs):
     comment = self.get_object(movie_id=kwargs.get('movie_id'),
                               pk=kwargs.get('pk'))
     serializer = CommentSerializer(comment)
     return Response(serializer.data)
Example #7
0
 def get(self, request, *args, **kwargs):
     comments = Comment.objects.filter(movie_id=kwargs.get('movie_id'))
     serializer = CommentSerializer(comments, many=True)
     return Response(serializer.data)