コード例 #1
0
ファイル: views.py プロジェクト: hornoo/web3
 def put(self, request, pk, format=None):
     book = self.get_object(pk)
     serializer = BookSerializer(book, data=request.data)
     if serializer.is_valid():
         serializer.save()
         return Response(serializer.data)
     return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
コード例 #2
0
ファイル: views.py プロジェクト: johnerick89/bookstore
 def post(self, request, format=None):
     data = JSONParser().parse(request)
     serializer = BookSerializer(data=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)
コード例 #3
0
ファイル: views.py プロジェクト: nickdm26/Web3
 def put(self, request, pk, format=None):
     book = self.get_object(pk)
     serializer = BookSerializer(book, data=request.data)
     if serializer.is_valid():
         serializer.save()
         return Response(serializer.data)
     return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
コード例 #4
0
ファイル: views.py プロジェクト: ChillarAnand/library-django
 def create(self, request):
     serializer = BookSerializer(data=request.data)
     if serializer.is_valid():
         serializer.save()
         return Response(serializer.data, status=201)
     time.sleep(2)
     return Response(serializer.errors, status=400)
コード例 #5
0
ファイル: views.py プロジェクト: validyong/django_crud_api
def book_list(request):
    if request.method == 'GET':
        books = Book.objects.all()

        isbn = request.GET.get('isbn', None)
        if isbn is not None:
            books = books.filter(book__icontains=isbn)

        book_serializer = BookSerializer(books, many=True)
        return JsonResponse(book_serializer.data, safe=False)
    elif request.method == 'POST':
        book_data = JSONParser().parse(request)
        book_serializer = BookSerializer(data=book_data)
        if book_serializer.is_valid():
            book_serializer.save()
            return JsonResponse(book_serializer.data,
                                status=status.HTTP_201_CREATED)
        return JsonResponse(book_serializer.errors,
                            status=status.HTTP_400_BAD_REQUEST)
    elif request.method == 'DELETE':
        count = Book.objects.all().delete()
        return JsonResponse(
            {
                'message': '{} Books were deleted successfully!'.format(
                    count[0])
            },
            status=status.HTTP_204_NO_CONTENT)
コード例 #6
0
ファイル: views.py プロジェクト: SarahStanton/mlab7
def book_add(request):
    if request.method == 'POST':
        serializer = BookSerializer(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)
コード例 #7
0
ファイル: views.py プロジェクト: SarahStanton/mlab7
def book_add(request):
	if request.method == 'POST':
		serializer = BookSerializer(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)
コード例 #8
0
 def post(self, request):
     book_serializer = BookSerializer(data=request.data)
     if book_serializer.is_valid():
         saved_book_data = book_serializer.save()
         return Response(book_serializer.data,
                         status=status.HTTP_201_CREATED)
     return Response(book_serializer.errors,
                     status=status.HTTP_400_BAD_REQUEST)
コード例 #9
0
    def test_update_partial_book_should_work(self):
        """
        We check deserialization process of a dictionary where we update some values of an existing object model
        We check both with partial True and False
        """
        partial_data = {'author': 'partial'}
        serializer = BookSerializer(self.book, data=partial_data)
        # Check validations fails
        self.assertEquals(serializer.is_valid(), False)

        serializer = BookSerializer(self.book, data=partial_data, partial=True)
        self.assertEquals(serializer.is_valid(), True)
        # Check object created is what we expect
        self.assertEquals(serializer.object, self.book)
        self.assertEquals(serializer.data['author'], 'partial')
        # Notice that self.book is updated when serializing
        self.assertEquals(serializer.object.author, 'partial')
コード例 #10
0
 def test_read_only_fields_should_not_being_altered(self):
     """
     We check that read only fields of serializers are not altered
     """
     serializer = BookSerializer(self.book, data={'total_rating': 5}, partial=True)
     self.assertEquals(serializer.is_valid(), True)
     instance = serializer.save()
     self.assertEquals(serializer.errors, {})
     # Avg_rate should be unchanged
     self.assertEquals(instance.total_rating, Decimal('0.00'))
コード例 #11
0
 def test_create_valid_book_should_work(self):
     """
     We check deserialization process of a dictionary where we get a valid object model with validations succeded
     """
     serializer = BookSerializer(data=self.expected)
     # Check validations works
     self.assertEquals(serializer.is_valid(), True)
     # Check object created is what we expect
     self.assertEquals(serializer.object, self.book)
     self.assertEquals(serializer.data['author'], 'author')
コード例 #12
0
ファイル: views.py プロジェクト: ChillarAnand/library-django
 def update(self, request, pk=None):
     time.sleep(3)
     try:
         item = Book.objects.get(pk=pk)
     except Book.DoesNotExist:
         return Response(status=404)
     serializer = BookSerializer(item, data=request.data)
     if serializer.is_valid():
         serializer.save()
         return Response(serializer.data)
     return Response(serializer.errors, status=400)
コード例 #13
0
 def test_update_valid_book_should_work(self):
     """
     We check deserialization process of a dictionary where we update an existing object model.
     Validations must work
     """
     serializer = BookSerializer(self.book, data=self.expected)
     # Check validations works
     self.assertEquals(serializer.is_valid(), True)
     # Check object updated is what we expect
     self.assertEquals(serializer.object, self.book)
     self.assertEquals(serializer.data['author'], 'author')
コード例 #14
0
    def update(self, request, *args, **kwargs):
        queryset = self.get_queryset()
        serializer = BookSerializer(queryset, data=request.data)
        if serializer.is_valid():
            serializer.save()
            return make_formatted_response(
                status_code=status.HTTP_200_OK,
                data=serializer.data,
                message=f'The book {queryset.name} was updated successfully')

        return make_formatted_response(status_code=status.HTTP_400_BAD_REQUEST,
                                       error=serializer.errors)
コード例 #15
0
def book_list(request):
    if request.method == 'GET':
        books = Book.objects.all()
        serializer = BookSerializer(books, many=True)
        return Response(serializer.data)

    elif request.method == 'POST':
        serializer = BookSerializer(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)
コード例 #16
0
 def post(self, request):
     book = request.data.get('book')
     serializer = BookSerializer(data=book)
     if serializer.is_valid(raise_exception=True):
         book_saved = serializer.save()
     return Response(
         {
             'success':
             'Book \'{book}\' added successfully'.format(
                 book=book_saved.__str__(), ),
         },
         status=201,
     )
コード例 #17
0
    def put(self, request, pk=None):
        try:
            book = Book.objects.get(pk=pk)
        except Book.DoesNotExist:
            return Response({'message': 'The book does not exist'},
                            status=status.HTTP_404_NOT_FOUND)

        book_serializer = BookSerializer(book, data=request.data)
        if book_serializer.is_valid():
            book_serializer.save()
            return Response(book_serializer.data)
        return Response(book_serializer.errors,
                        status=status.HTTP_400_BAD_REQUEST)
コード例 #18
0
def book_list(request):

    if request.method == 'GET':
        snippets = Books.objects.all()
        serializer = BookSerializer(snippets, many=True)
        return JsonResponse(serializer.data, safe=False)

    elif request.method == 'POST':
        data = JSONParser().parse(request)
        serializer = BookSerializer(data=data)
        if serializer.is_valid():
            serializer.save()
            return JsonResponse(serializer.data, status=201)
        return JsonResponse(serializer.errors, status=400)
コード例 #19
0
def create_books_view(request):
    #request.data['teste']

    #request.data['sell_price'] = calcular_valor_por_margem(request.data['margem'], request.data['cost_price'])

    if request.method == "POST":

        serializer = BookSerializer(data=request.data)
        data = {}
        if serializer.is_valid():
            serializer.save()
            data['success'] = "Book created with success"
            return Response(data=data)
        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
コード例 #20
0
 def put(self, request, book_id):
     book = get_object_or_404(Book.objects.filter(id=book_id))
     book_upd = request.data.get('book')
     serializer = BookSerializer(instance=book, data=book_upd)
     if serializer.is_valid(raise_exception=True):
         book_saved = serializer.save()
     return Response(
         {
             'success':
             'Book \'{book}\' updated successfully'.format(
                 book=book_saved.__str__(), ),
         },
         status=204,
     )
コード例 #21
0
ファイル: views.py プロジェクト: liddyv/RestfulAPI
def book_list(request):
    if request.method == 'GET':
        books = Book.objects.all()
        book_serializer = BookSerializer(books, many=True)
        return JSONResponse(book_serializer.data)
    elif request.method == 'POST':
        book_data = JSONParser().parse(request)
        book_serializer = BookSerializer(data=book_data)
        if book_serializer.is_valid():
            book_serializer.save()
            return JSONResponse(book_serializer.data,
                                status=status.HTTP_201_CREATED)
        else:
            return JSONResponse(book_serializer.errors,
                                status=status.HTTP_400_BAD_REQUEST)
コード例 #22
0
 def post(self, request):
     form = GoogleBookAPISearchForm(request.POST)
     if form.is_valid():
         cleaned_data = form.cleaned_data
         url = self.construct_url(cleaned_data)
         resp = requests.get(url).json()
         if resp:
             volumes = resp.json()["items"]
             for volume in volumes:
                 volume_info = self.prepare_to_serialize(volume)
                 if volume_info:
                     serializer = BookSerializer(data=volume_info)
                     if serializer.is_valid():
                         serializer.save()
     return redirect(reverse("expand"))
コード例 #23
0
def update_books_view(request, slug):

    try:
        book = Book.objects.get(slug=slug)
    except Book.DoesNotExist:
        return Response(status=status.HTTP_404_NOT_FOUND)

    if request.method == "PUT":

        serializer = BookSerializer(book, data=request.data)
        data = {}
        if serializer.is_valid():
            serializer.save()
            data['success'] = "Book updated with success"
            return Response(data=data)
        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
コード例 #24
0
def book_detail(request, book_id):
    try:
        book = Book.objects.get(id=book_id)
    except Book.DoesNotExist:
        return Response(status=status.HTTP_404_NOT_FOUND)

    if request.method == 'GET':
        serializer = BookSerializer(book)
        return Response(serializer.data)

    elif request.method == 'PUT':
        serializer = BookSerializer(book, 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':
        book.delete()
        return Response(status=status.HTTP_204_NO_CONTENT)
コード例 #25
0
ファイル: views.py プロジェクト: liddyv/RestfulAPI
def book_detail(request, pk):
    try:
        book = Book.objects.get(pk=pk)
    except:
        return JSONResponse(None, status=status.HTTP_404_NOT_FOUND)

    if request.method == 'GET':
        book_serializer = BookSerializer(book)
        return JSONResponse(book_serializer.data)
    elif request.method == 'PUT':
        book_data = JSONParser().parse(request)
        book_serializer = BookSerializer(book, data=book_data)
        if book_serializer.is_valid():
            book_serializer.save()
            return JSONResponse(book_serializer.data)
        else:
            return JSONResponse(book_serializer.errors,
                                status=status.HTTP_400_BAD_REQUEST)
    elif request.method == 'DELETE':
        book.delete()
        return JSONResponse(None, status=status.HTTP_204_NO_CONTENT)
コード例 #26
0
ファイル: views.py プロジェクト: validyong/django_crud_api
def book_detail(request, pk):
    try:
        book = Book.objects.get(pk=pk)
    except Book.DoesNotExist:
        return JsonResponse({'message': 'The book does not exist'},
                            status=status.HTTP_404_NOT_FOUND)

    if request.method == 'GET':
        book_serializer = BookSerializer(book)
        return JsonResponse(book_serializer.data)
    elif request.method == 'PUT':
        book_data = JSONParser().parse(request)
        book_serializer = BookSerializer(book, data=book_data)
        if book_serializer.is_valid():
            book_serializer.save()
            return JsonResponse(book_serializer.data)
        return JsonResponse(book_serializer.errors,
                            status=status.HTTP_400_BAD_REQUEST)
    elif request.method == 'DELETE':
        book.delete()
        return JsonResponse({'message': 'Book was deleted successfully!'},
                            status=status.HTTP_204_NO_CONTENT)
コード例 #27
0
def book_detail(request, pk):
  
    try:
        snippet = Books.objects.get(pk=pk)
    except Books.DoesNotExist:
        return HttpResponse(status=404)

    if request.method == 'GET':
        serializer = BookSerializer(snippet)
        return JsonResponse(serializer.data)

    elif request.method == 'PUT':
        data = JSONParser().parse(request)
        serializer = BookSerializer(snippet, data=data)
        if serializer.is_valid():
            serializer.save()
            return JsonResponse(serializer.data)
        return JsonResponse(serializer.errors, status=400)

    elif request.method == 'DELETE':
        snippet.delete()
        return HttpResponse(status=204)
コード例 #28
0
ファイル: views.py プロジェクト: malong888/restful
def book_detail(request, pk):
    """
    Retrieve, update or delete a code snippet.
    """
    try:
        book = Book.objects.get(pk=pk)
    except Book.DoesNotExist:
        return HttpResponse(status=404)

    if request.method == 'GET':
        serializer = BookSerializer(book)
        return JsonResponse(serializer.data)

    elif request.method == 'PUT':
        data = JSONParser().parse(request)
        serializer = BookSerializer(book, data=data)
        if serializer.is_valid():
            serializer.save()
            return JsonResponse(serializer.data)
        return JsonResponse(serializer.errors, status=400)

    elif request.method == 'DELETE':
        book.delete()
        return HttpResponse(status=204)
コード例 #29
0
ファイル: views.py プロジェクト: tanvidhope/BookShop
 def post(self, request):
     serializer = BookSerializer(data=request.data)
     if serializer.is_valid():
         serializer.save()
         return Response(serializer.data, status=status.HTTP_201_CREATED)
コード例 #30
0
ファイル: views.py プロジェクト: hornoo/web3
 def post(self, request, format=None):
     serializer = BookSerializer(data=request.data)
     if serializer.is_valid():
         serializer.save(owner=self.request.user)
         return Response(serializer.data, status=status.HTTP_201_CREATED)
     return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)