def put(self, request, pk): article = self.get_object(pk) serializer = ArticleSerializer(article, data=request.data) if serializer.is_valid(): serializer.save() return Response(serializer.data) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def article_detail_api_view(request, pk): try: article = Article.objects.get(pk=pk) except article.DoesNotExist: return Response( {"error": { "code": 404, "messge": "article not found!" }}, status=status.HTTP_404_NOT_FOUND) if request.method == "GET": serializer = ArticleSerializer(article) return Response(serializer.data) elif request.method == "PUT": serializer = ArticleSerializer(article, data=serializer.data) if serializer.is_valid(): serializer.save() return Response(serializer.data) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST) elif request.method == "DELETE": article.delete() return Response(status=status.HTTP_204_NO_CONTENT)
def post(self, request): serializer = ArticleSerializer(data=request.data) if serializer.is_valid(): serializer.save() return Response(serializer.data, status=status.HTTP_201_CREATED) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def article_detais_views(request, pk): try: article = Article.objects.get(pk=pk) except article.DoesNotExist: # status = status.Http_404_NOT_FOUND Error = { "Error": { "code": 404, "message": "Article Not Found" }, "status": { "status": 'Http_404_NOT_FOUND' } } return Response(Error, status=status.HTTP_404_NOT_FOUND) if request.method == "GET": serializer = ArticleSerializer(article) return Response(serializer.data) elif request.method == "PUT": serializer = ArticleSerializer(article, data=request.data) if serializer.is_valid(): serializer.save() return Response(serializer.data) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST) elif request.method == "DELETE": article.delete() return Response(status=status.HTTP_204_NO_CONTENT) else: return Response(status=status.HTTP_500_INTERNAL_SERVER_ERROR)
def article_detail_api_view(request, pk): try: article = Article.objects.get(pk=pk) except Article.DoesNotExist: return Response( {'error': { 'code': 404, 'message': 'Article not found :(', }}, status=status.HTTP_404_NOT_FOUND) if request.method == 'GET': serializer = ArticleSerializer(article) return Response(serializer.data) elif request.method == 'PUT': serializer = ArticleSerializer(article, data=request.data) if serializer.is_valid(): serializer.save() return Response(serializer.data) else: return Response(serializer.data, status=status.HTTP_400_BAD_REQUEST) elif request.method == 'DELETE': article.delete() return Response(status=status.HTTP_204_NO_CONTENT)
def article_list_create_api_view(request): if request.method == "GET": articles = Article.objects.filter(active=True) serializer = ArticleSerializer(articles, many=True) return Response(serializer.data) elif request.method == "POST": serializer = ArticleSerializer(data=request.data) if serializer.is_valid(): serializer.save() return Response(serializer.data, status=status.HTTP_201_CREATED) return Response(serializer.errors, status.HTTP_400_BAD_REQUEST)
def put(self, request, pk): article = self.get_object(pk) serializer = ArticleSerializer(article, request.data) if serializer.is_valid(): serializer.save() return Response(serializer.data) else: return Response( {"error": { "code": 404, "message": "Article is not valid" }}, status=status.HTTP_404_NOT_FOUND)
def article_list_create_api_view(request): if request.method == 'GET': articles = Article.objects.filter(active=True) # Set many=True since articles is a QuerySet of mulitiple articles serializer = ArticleSerializer(articles, many=True) return Response(serializer.data) elif request.method == 'POST': serializer = ArticleSerializer(data=request.data) if serializer.is_valid(): serializer.save() return Response(serializer.data, status=status.HTTP_201_CREATED) else: return Response(serializer.data, status=status.HTTP_400_BAD_REQUEST)
def article_list_create_api_view(request): if request.method == "GET": articles = Article.objects.filter(active=True) serializer = ArticleSerializer( articles, many=True ) # many es decirle que no es solo un query sino un queryset return Response(serializer.data) elif request.method == "POST": serializer = ArticleSerializer(data=request.data) if serializer.is_valid(): serializer.save( ) # llama al create o al update de ArticleSerializer return Response(serializer.data, status=status.HTTP_201_CREATED) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def article_list_create_api_view(request): if request.method == 'GET': articles = Article.objects.filter( active=True ) # Get the articles. Returns a QuerySet (multiple objects) serializer = ArticleSerializer( articles, many=True) # Passing a QuerySet into a serializer return Response(serializer.data) elif request.method == 'POST': serializer = ArticleSerializer(data=request.data) if serializer.is_valid(): serializer.save() # Triggers the update method return Response(serializer.data, status=status.HTTP_201_CREATED) else: return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def article_list_create_api_view(request): """ This function will return list of articles or create a new one by detecting the request.method type :param request: :return: """ if request.method == "GET": articles = Article.objects.filter(active=True) serializer = ArticleSerializer(articles, many=True) # by setting many=True you tell drf that queryset contains mutiple items (a list of items) so drf needs to # serialize each item with serializer class (and serializer.data will be a list) # if you don't set this argument it means queryset is a single instance and serializer. # data will be a single object) return Response(serializer.data) # serializer.data is json format elif request.method == "POST": serializer = ArticleSerializer(data=request.data) if serializer.is_valid(): serializer.save() return Response(serializer.data, status=status.HTTP_201_CREATED) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def article_detail_api_view(request, pk): try: article = Article.objects.get(pk=pk) except Article.DoesNotExist: return Response( {'Error': { 'code': 404, 'message': 'Articolo non trovato' }}, status=status.HTTP_404_NOT_FOUND) if request.method == "GET": serializer = ArticleSerializer(article) return Response(serializer.data) if request.method == "PUT": serializer = ArticleSerializer(article, data=request.data) if serializer.is_valid(): serializer.save() return Response(serializer.data) return Response(serializer.errors, status.HTTP_400_BAD_REQUEST) if request.method == "DELETE": article.delete() return Response(status=status.HTTP_204_NO_CONTENT)