転載元ブログ情報
この記事は自分のブログの転載です。是非遊びに来てください〜
Django REST Framework メモ :: CRUD :: UpdateAPIView
http://k-mawa.hateblo.jp/entry/2018/01/19/021346
参考:公式リファレンス
[http://www.django-rest-framework.org/#api-guide:embed:cite]
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系とは異なります
[http://k-mawa.hateblo.jp/entry/2018/01/18/235310:embed:cite]
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'
基本構成はこんな感じです。