Add delete and Add update methods

This commit is contained in:
Andros Fenollosa
2021-07-13 18:18:18 +02:00
parent e2fb03e48c
commit 7fd71eca7f
3 changed files with 140 additions and 6 deletions

View File

@ -10,6 +10,6 @@ class LibroSerializer(serializers.ModelSerializer):
fields = "__all__"
read_only_fields = (
"id",
"created_date",
"updated_date",
"created_at",
"updated_at",
)

View File

@ -15,7 +15,7 @@ def ping(request):
class LibrosList(APIView):
def get(self, request, format=None):
def get(self, request):
libros = Libros.objects.all().order_by('created_at')
serializer = LibroSerializer(libros, many=True)
return Response(serializer.data, status=status.HTTP_200_OK)
@ -30,10 +30,27 @@ class LibrosList(APIView):
class LibrosDetails(APIView):
def get(self, request, pk, format=None):
def get(self, request, pk):
libro = Libros.objects.filter(pk=pk).first()
serializer = LibroSerializer(libro)
if libro:
serializer = LibroSerializer(libro)
return Response(serializer.data, status=status.HTTP_200_OK)
return Response(serializer.errors, status=status.HTTP_404_NOT_FOUND)
return Response(status=status.HTTP_404_NOT_FOUND)
def put(self, request, pk):
libro = Libros.objects.filter(pk=pk).first()
serializer = LibroSerializer(libro, data=request.data)
if libro and serializer.is_valid():
serializer.save()
return Response(serializer.data, status=status.HTTP_200_OK)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def delete(self, request, pk):
libro = Libros.objects.filter(pk=pk).first()
if libro:
serializer = LibroSerializer(libro)
libro.delete()
return Response(serializer.data, status=status.HTTP_200_OK)
return Response(status=status.HTTP_404_NOT_FOUND)