Esempio n. 1
0
    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")
Esempio n. 2
0
 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)
Esempio n. 3
0
 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)
Esempio n. 4
0
 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)
Esempio n. 5
0
    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)
Esempio n. 6
0
    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)
Esempio n. 7
0
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)
Esempio n. 8
0
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})
Esempio n. 9
0
 def get(self, request, id):
     news = news_models.News.objects.filter(id=id)
     serializer = PostSerializer(news, many=True)
     return Response(serializer.data)
Esempio n. 10
0
 def get(self, request):
     news = news_models.News.objects.all()
     serializer = PostSerializer(news, many=True)
     return Response(serializer.data)