def handle(self, *args, **kwargs): posts = Post.objects.all() update_data: dict = {"upvotes_amount": 0} for post in posts: serializer = PostSerializer(post, data=update_data, partial=True) if serializer.is_valid(): serializer.save() self.stdout.write("Upvoted posts")
def get_posts_by_cattegory_id(request, pk): if request.method == 'GET': try: posts_list = Posts.objects.filter(categories__id__in=pk).order_by('-posted_date') except: return HttpResponse(status=404) serializer = PostSerializer(posts_list, many=True) return JsonResponse(serializer.data, safe=False) return HttpResponse(status=404)
def get_all_posts(request): if request.method == 'GET': try: posts_list = Posts.objects.all().order_by('-posted_date') except: return HttpResponse(status=404) serializer = PostSerializer(posts_list, many=True) return JsonResponse(serializer.data, safe=False) return HttpResponse(status=404)
def get_page_posts(request, page): """ List all code snippets, or create a new snippet. """ if request.method == 'GET': post_list = Posts.objects.all().order_by('-posted_date') paginator = Paginator(post_list, 2) posts = paginator.get_page(page) serializer = PostSerializer(posts, many=True) return JsonResponse(serializer.data, safe=False) return HttpResponse(status=404)
def get_post_details(request, pk): """ Retrieve, update or delete a code news. """ try: post = Posts.objects.get(pk=pk) except News.DoesNotExist: return HttpResponse(status=404) if request.method == 'GET': serializer = PostSerializer(post) return JsonResponse(serializer.data)
def test_post_listed(self): """Test listing all created posts""" Post.objects.create(title='Post 1', link='http://www.freebsd.org', author=self.user) Post.objects.create(title='Post 2', link='http://www.kgbase.com', author=self.user) posts = Post.objects.all() res = self.client.get(POST_URL) self.assertEqual(res.status_code, status.HTTP_200_OK) serializer = PostSerializer(posts, many=True) self.assertEqual(serializer.data, res.data) self.assertEqual(len(res.data), 2)
def upvote_new(request, pk): post = get_object_or_404(NewPost, pk=pk) post.upvotes_amount += 1 post.save() serializer = PostSerializer(post) return Response(serializer.data)
def news_api(request): posts = Post.objects.all() # return Response(latest_post_list, status=HTTP_200_OK) # the many param informs the serializer that it will be serializing more than a single article. serializer = PostSerializer(posts, many=True) return Response({"posts": serializer.data})
def get(self, request, id): news = news_models.News.objects.filter(id=id) serializer = PostSerializer(news, many=True) return Response(serializer.data)
def get(self, request): news = news_models.News.objects.all() serializer = PostSerializer(news, many=True) return Response(serializer.data)