まわ

勉強したことや遊びのこと

Django REST Framework メモ :: CRUD :: RetrieveAPIView

参考:公式リファレンス www.django-rest-framework.org

Django REST Framework の基本構成メモです。 CRUDのうちのRetrieveの構成です 個別のインスタンスを呼び出すので引数つきのURLになります。

  • Django2

api/urls.py

from django.urls import path
from .views import (
    □[クラス名]□APIView,
    )

urlpatterns = [
   path('<int:pk>', □[クラス名]□DetailAPIView.as_view(), name='detail')
]

※引数とpath設定がDjango1系とは異なります

k-mawa.hateblo.jp

api/serializers.py

from rest_framework.serializers import (
    ModelSerializer,
    )


from □[アプリ名]□.models import *

class □[クラス名]□Serializer(ModelSerializer):
    class Meta:
        model = □[クラス名]□
        fields = [
            'id',
            '■[フィールド名]■',
            '■[フィールド名]■',
        ]

api/views.py

from rest_framework.generics import (
    RetrieveAPIView
    )

from □[アプリ名]□.models import *

from .serializers import (
    □[クラス名]□Serializer, 
    )

class □[クラス名]□DetailAPIView(RetrieveAPIView):
    queryset = □[クラス名]□.objects.all()
    serializer_class = □[クラス名]□DetailSerializer
    lookup_field = 'pk'

基本構成はこんな感じです。