def get(request): """ List posts """ posts = Post.objects.all() return Response(PostSerializer(posts, many=True).data)
def get(request): """ List posts """ ruser = request.user posts = [] if ruser.is_authenticated(): posts = Post.objects.all() filtered_posts = [] following_ids = ruser.following.values_list('id', flat=True).distinct() for post in posts: user_id = post.user.id if user_id in following_ids or user_id == ruser.id: filtered_posts.append(post) else: post.body = '[REDACTED] Follow user to see the contents of this post' filtered_posts.append(post) posts = filtered_posts if type(posts) == Response: return posts return Response(PostSerializer(posts, many=True).data)
def get(request): """ List posts """ posts = Post.eobjects.all() if type(posts) == Response: return posts return Response(PostSerializer(posts, many=True).data)
def post(request): """ Create post """ serializer = PostSerializerCreate(data=request.data, context={'request': request}) if serializer.is_valid(): serializer.save() return Response(PostSerializer(serializer.instance).data, status=status.HTTP_201_CREATED) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def patch(request, post_id): """ Update post """ post = get_object_or_404(Post, pk=post_id) serializer = PostSerializerUpdate(post, data=request.data, context={'request': request}, partial=True) if serializer.is_valid(): serializer.save() return Response(PostSerializer(serializer.instance).data) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def post(self, serializer): serializer = PostSerializerCreate(data=self.request.data, context={'request': self.request}) if serializer.is_valid(): serializer.save(user=self.request.user) return Response(PostSerializer(serializer.instance).data, status=status.HTTP_201_CREATED) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def get_category_posts(cate): return PostSerializer(Post.objects.filter(category__id__contains=cate.id), many=True).data