コード例 #1
0
class NotificationSerializer(serializers.ModelSerializer):

    creator = user_serializers.UserListSerializer()
    to = user_serializers.UserListSerializer()
    video = video_serializers.VideoListSerializer()

    class Meta:
        model = models.Notification
        fields = ('creator', 'to', 'notification_type', 'video', 'comment',
                  'natural_time')
コード例 #2
0
    def get(self, request, reply_id, format=None):

        likes = models.ReplyLike.objects.filter(reply__id=reply_id)

        like_creators_id = likes.values('creator_id')

        like_users = user_models.User.objects.filter(id__in=like_creators_id)

        serializer = user_serializers.UserListSerializer(
            like_users, many=True, context={"request": request})

        return Response(data=serializer.data, status=status.HTTP_200_OK)
コード例 #3
0
    def get(self, request, comment_id, format=None):

        unlikes = models.CommentUnlike.objects.filter(comment__id=comment_id)

        unlike_creators_id = unlikes.values('creator_id')

        unlike_users = user_models.User.objects.filter(
            id__in=unlike_creators_id)

        serializer = user_serializers.UserListSerializer(
            unlike_users, many=True, context={"request": request})

        return Response(data=serializer.data, status=status.HTTP_200_OK)
コード例 #4
0
    def get(self, request, video_id, format=None):

        likes = models.VideoLike.objects.filter(video__id=video_id)

        like_creators_id = likes.values('creator_id')
        # values 라는 함수는 likes라는 오브젝트안에서 가져올수 있는 값들을 정해줌
        # 그 중에 creator_id가 존재하기 때문에 __ 가 아닌 _ 만 써도 되는것
        # 만약 creator__id 라고 쓰면 이건 deep relationship으로 얻는 거
        # creator_id라고 쓰면 이건그냥 values라는 함수가 제공해주는 어떠한 key에 대한 값을 가져오는것
        like_users = user_models.User.objects.filter(id__in=like_creators_id)

        serializer = user_serializers.UserListSerializer(
            like_users, many=True, context={"request": request})

        return Response(data=serializer.data, status=status.HTTP_200_OK)