예제 #1
0
    def latest(self, request):
        posts = paginate_queryset(
            Post.get_user_view(request.user.id).filter(parent=None), request,
            'id', self.page_size)

        serializer = PostSerializer(posts, many=True)
        return Response(serializer.data)
예제 #2
0
    def hottest(self, request):
        posts = Post.get_user_view(request.user.id) \
            .filter(parent=None, created_at__gte=datetime.today() - timedelta(days=1)) \
            .order_by('-likes_count')

        serializer = PostSerializer(posts, many=True)

        return Response(serializer.data)
예제 #3
0
 def retrieve(self, request, pk=None):
     post = Post.get_user_view(request.user.id).get(pk=pk)
     replies = Post.get_user_view(request.user.id).filter(
         Q(parent=pk) | Q(parent__parent=pk) | Q(parent__parent=pk))
     serializer = PostSerializer([post] + list(replies), many=True)
     return Response(serializer.data)