Django Rest Framework:使用ModelViewSet插入列表

时间:2019-11-04 10:43:30

标签: django django-rest-framework

在线文档不是很清楚。默认的POST方法ModelViewSet应该允许您插入模型列表,但实际上,它仅允许单个模型插入。有关代码示例,请参阅https://www.django-rest-framework.org/api-guide/viewsets/中所述的代码,某人如何发布用户列表?

class UserViewSet(viewsets.ModelViewSet):
    """
    A viewset for viewing and editing user instances.
    """
    serializer_class = UserSerializer
    queryset = User.objects.all()

2 个答案:

答案 0 :(得分:0)

因为您可以先使用serializer_class,然后再使用queryset,所以首先我们需要导入User,然后再应用serializer类来再次应用插入 用这个

class UserViewSet(viewsets.ModelViewSet):
    """
    A viewset for viewing and editing user instances.
    """
    queryset = User.objects.all()
    serializer_class = UserSerializer

答案 1 :(得分:0)

文档非常清楚创建的内容。

引用https://www.django-rest-framework.org/api-guide/viewsets/#modelviewset

  

ModelViewSet类继承自GenericAPIView,并通过混合各种mixin类的行为来包括各种操作的实现。   ModelViewSet类提供的动作是.list()、. retrieve()、. create()、. update()、. partial_update()和.destroy()。

因此请参考GenericAPIView documentation at creation mixing

  

提供一个.create(request,* args,** kwargs)方法,该方法实现创建和保存新模型实例。

因此,如果要创建一批项目,则必须重写create方法并自己编写multiple instance creation