LoginSignup
3
1

More than 5 years have passed since last update.

Django REST Framework でのCRUD実装時の基本構成 UpdateAPIView

Posted at

転載元ブログ情報

この記事は自分のブログの転載です。是非遊びに来てください〜

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'

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

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1