728x90
반응형
전체조회,상세조회,생성까지 구현해보았으니 이제 수정을 구현해보자!
수정 view 만들기
from rest_framework import status
from rest_framework.response import Response
from rest_framework.views import APIView
from rest_framework.generics import get_object_or_404
from rest_framework import viewsets
from .models import Todo
from .serializers import TodosimpleSerializer,TodoDetailSerializer,TodoCreateSerializer
.
.
.
.
class TodoAPIView(APIView):#상세조최
def get(slef,request,pk):
todo = get_object_or_404(Todo,id=pk)
serializer = TodoDetailSerializer(todo)
return Response(serializer.data, status=status.HTTP_200_OK)
def put(self,request,pk):#수정
todo = get_object_or_404(Todo,id=pk)
serializer = TodoCreateSerializer(todo,data=request.data)
if serializer.is_valid():
serializer.save()
return Response(serializer.data,status=status.HTTP_200_OK)
return Response(serializer.errors,status=status.HTTP_400_BAD_REQUEST)
수정기능은 put메서드 형태로 작성할 수 있다. 특정 Todo를 찾아서 요청으로 전달받은 데이터를 시리얼라이저에 통과시켜 저장하는 방식으로, 앞서 개발한 Todo생성 API와 동일한 방식이다.
수정 URL 연결하기
수정도 생성과 마찬가지로 따로 만들어줄 필요는 없다.
수정 API 테스트
수정은 put으로 바꾼다음 수정해주면 된다.
728x90
반응형
'Python > DRF(Django REST Framework)' 카테고리의 다른 글
[DRF] 영화정보_API(1) (0) | 2023.02.22 |
---|---|
[DRF] Todo 목록 API만들기(6) (0) | 2023.01.30 |
[DRF] Todo 목록 API만들기(4) (0) | 2023.01.30 |
[DRF] Todo 목록 API만들기(3) (0) | 2023.01.30 |
[DRF] Todo 목록 API만들기(2) (0) | 2023.01.30 |
댓글