如何在Django Rest Framework中选择视图类型

问题描述

我可以使用以下命令在Django中创建视图:

  • 功能基础视图
  • 基本视图
  • 通用视图和混合器
  • 视图集

现在有什么标准可以告诉我们什么时候应该使用哪种?

为什么我们有这么多类型?

解决方法

没有标准,但是您可以从以下简单策略入手:

  1. 对模型类的特定操作-generic viewsRetrieveAPIViewListAPIViewUpdateAPIView等)
  2. 在一堂课中的几项操作和基本CRUD-ViewSetsModelViewSetReadOnlyModelViewSet最有用)
  3. 对1个实例执行一些操作-ViewSet + @action(detail=True)
  4. 对几个或所有对象执行某些操作-ViewSet + @action(detail=False)
  5. 最简单的自定义操作-再次function based views@action

也请检查DRF views classes以获得快速概述。