Django バックエンド開発の概要 - タスク 04: シリアル化と Django-DRF (ModelViewSet) の使用

P11 Django-DRF (ModelViewSet): CRUD 関数を迅速に構築する

Web アプリケーション開発では、データの作成、読み取り、更新、削除 (CRUD: Create、Read、Update、Delete) が必要になることがよくあります。Django REST フレームワーク (DRF) は、 を使用してこれらの一般的な操作を管理する効率的な方法を開発者に提供しますModelViewSetModelViewSetこのブログでは、CRUD 機能を備えた Web アプリケーションを迅速に構築するための基本的な概念、機能、およびその使用方法を紹介します。

ModelViewSetとは何ですか?

ModelViewSetこれは、Django REST フレームワークによって提供される強力なビューセット クラスであり、作成、読み取り、更新、削除などの一般的なモデル操作メソッドをカプセル化します。これを使用するとModelViewSet、開発者は同様のコードを繰り返し記述することなく、これらの操作を簡単に実装できます。

ModelViewSet次のクラスから継承されます。

  • GenericViewSet: 特定の機能の実装を容易にするための共通の表示メソッドのセットを提供します。
  • ListModelMixin:listリソースリストを取得するためのメソッドを提供します。
  • RetrieveModelMixin:retrieve単一のリソースに関する詳細情報を取得するメソッドを提供します。
  • CreateModelMixin:createリソースを作成するためのメソッドを提供します。
  • UpdateModelMixin:updateリソースを更新するためのメソッドを提供します。
  • DestroyModelMixin:destroyリソースを削除するためのメソッドを提供します。

さらに、開発者はメソッド/関数をカスタマイズして の機能を拡張することもできますModelViewSet

ModelViewSetの特徴

ModelViewSet主な特徴は以下のとおりです。

  • CRUD 関数を迅速に構築するqueryset:および属性を構成するだけでserializer_class、デフォルトの追加、削除、変更、およびクエリ関数を取得できます。
  • Django の規則に従う: ModelViewSetDjango フレームワークの規則とベスト プラクティスに従って、コードの一貫性と保守性を確保します。
  • さまざまなWebアプリケーションに最適:ブログシステム、電子商取引プラットフォーム、ソーシャルネットワークなどのさまざまな種類のWebアプリケーションに適しており、開発効率が向上します。

ModelViewSetの使い方は?

これを使用するにはModelViewSet、まずビュー クラスのプロパティをquerysetクエリ対象のオブジェクトのコレクションに設定し、そのserializer_classプロパティを対応するシリアライザー クラスに設定する必要があります。以下に例を示します。

from rest_framework.viewsets import ModelViewSet

class YourModelViewSet(ModelViewSet):
    queryset = YourModel.objects.all()
    serializer_class = YourModelSerializer

使用するとModelViewSet、作成、読み取り、更新、削除などのデフォルトの CRUD メソッドが自動的に取得されます。これをビュー クラスで使用する方法を示す例を次に示しますModelViewSet

from rest_framework.decorators import action

class GoodsCategoryViewSet(ModelViewSet):
    queryset = GoodsCategory.objects.all()
    serializer_class = GoodsCategorySerializer

    @action(detail=False, methods=['get'])
    def latest(self, request):
        latest_obj = GoodsCategory.objects.latest('id')
        print(latest_obj)
        return Response("你调用了自定义的函数")

上の例では、GoodsCategoryViewSetという名前のビュー クラスを作成し、クエリするデータセット ( queryset) とシリアライザー クラス ( serializer_class) を設定しました。さらに、カスタム関数を定義しlatest@actionデコレーターを使用してビュー クラスにバインドすることで、ビューの機能を拡張します。

結論

ModelViewSetこれは、開発者が CRUD 機能を備えた Web アプリケーションを迅速に構築できるようにする DRF の強力なツールです。開発者は、適切な構成querysetserializer_class属性により、データの追加、削除、変更、クエリ操作を簡単に実装でき、開発効率を向上できます。さらに、DRF は、Web アプリケーション開発をより便利かつ効率的にするための他の多くの機能と拡張機能も提供します。ModelViewSetこのブログが、開発者がその使用法と利点をより深く理解し、実際のプロジェクトに適用するのに役立つことを願っています。

おすすめ

転載: blog.csdn.net/qq_42859625/article/details/132390093