Django REST Framework メモ :: CRUD :: UpdateAPIView
参考:公式リファレンス www.django-rest-framework.org
Django REST Framework の基本構成メモです。 CRUDのうちのUpdateの構成です 個別のインスタンスを呼び出すので引数つきのURLになります。
- Django2
api/urls.py
from django.urls import path from .views import ( □[クラス名]□UpdateAPIView, ) urlpatterns = [ path('detail_articles/<int:pk>/editing', □[クラス名]□UpdateAPIView.as_view(), name='updating') ]
※引数とpath設定がDjango1系とは異なります
api/serializers.py
from rest_framework.serializers import ( ModelSerializer, ) from □[アプリ名]□.models import * class □[クラス名]□DetailSerializer(ModelSerializer): class Meta: model = □[クラス名]□ fields = [ '■[フィールド名]■', '■[フィールド名]■', ]
※Detailの表示のときにつかったSerializerを共用できるのがポイントあたらしくSerializerつくらなくてOK
api/views.py
from rest_framework.generics import ( UpdateAPIView (もしくはRetrieveUpdateAPIViewでもOK) ) from □[アプリ名]□.models import * from .serializers import ( □[クラス名]□DetailSerializer, ) class □[クラス名]□UpdateAPIView(UpdateAPIView): queryset = □[クラス名]□.objects.all() serializer_class = □[クラス名]□DetailSerializer lookup_field = 'pk'
基本構成はこんな感じです。