본문 바로가기

프로그래밍/Django개발(MAC OS)

Django restframework 5. RetrieveAPIView

반응형

2021.04.03 - [프로그래밍/Django개발(MAC OS)] - [Django Rest Framework] 시작하기 Rest API 소개

2021.04.24 - [프로그래밍/Django개발(MAC OS)] - Django restframework 2. 설치하기

2021.04.24 - [프로그래밍/Django개발(MAC OS)] - Django restframework 3. APIView

2021.04.24 - [프로그래밍/Django개발(MAC OS)] - Django restframework 4. ListAPIView

 

 


 

generics뷰에서 RetrieveAPIView를 사용하는 방법입니다.

 

하나의 데이터만을 보고 싶을 때 사용하는 방법입니다.

 

ListView와 마찬가지로 설정을하면 되지만,

하나 다른점은 한개의 데이터만을 불러와야 되기 때문에

url Pattrern에서 pk값으로 가져오도록 하였습니다.

 

그러기 위해서는 기존에 Serializer에서 pk값을 봐야 되었습니다.

 

views.py

from rest_framework.generics import ListAPIView, RetrieveAPIView

from .models import Room
from .serializers import RoomSerializer, BigRoomSerializer


class SeeRoomView(RetrieveAPIView):
    queryset = Room.objects.all()
    serializer_class = BigRoomSerializer

 

urls.py

from django.urls import path
from . import views

urlpatterns = [
	...
    path('<int:pk>/', views.SeeRoomView.as_view())
]

 

Serializer.py

class RoomSerializer(serializers.ModelSerializer):

    class Meta:
        model = Room
        fields = ("pk","name","price","instant_book","user")

 

 

결과 확인

 

반응형