我如何将 Django 中的 ListCreateAPIView 和 RetrieveUpdateDestroyAPIView 组合成一个支持所有四个 CRUD 操作的视图?

How can i combine both ListCreateAPIView and RetrieveUpdateDestroyAPIView in django into a single view that supports all four CRUD operations?

我想知道如何获得可以处理模型所有操作的单点。以及为什么 Django RESTFramework 首先没有可用的泛型?我认为它在其他框架中很常见。

class ItemView(ListCreateAPIView, RetrieveUpdateDestroyAPIView):
    """
    List all items(GET without id), List single item(GET with id), 
    create an item(POST) or update an item(PUT with id)
    """

此视图 class 应 return 普通 GET 请求中的项目列表和特定项目(如果指定了 id)。同样,仅当 id 存在时才更新和删除特定项目。

我认为最好的方法是使用 django rest framework viewsets。例如,您可以定义 ModelViewSet ,它将为您的模型组合所有 CRUD 方法。