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)
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)
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)