如何将django中的ListCreateAPIView和RetrieveUpdateDestroyAPIView合并到一个支持所有四个CRUD操作的视图中?

时间:2015-01-28 12:37:33

标签: python django web django-views django-rest-framework

我想知道如何获得一个可以处理模型所有操作的单点。为什么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)
    """

如果指定了id,则此视图类应返回纯GET请求和特定项的项列表。同样,仅当id存在时才更新和删除特定项目。

1 个答案:

答案 0 :(得分:3)

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