Django请求数组与否

时间:2017-01-19 05:23:44

标签: python django django-rest-framework

如何才能知道传入的请求是否为数组? 现在我正在采取这种方法

def create(self, request, *args, **kwargs):
    serializer = self.get_serializer(data=request.data)
    if isinstance(request.data, list):
        serializer = self.get_serializer(many=True, data=request.data)

最好的方法是什么?

1 个答案:

答案 0 :(得分:3)

这种方法可以简化这种方法:

def create(self, request, *args, **kwargs):
    is_many = isinstance(request.data, list)
    serializer = self.get_serializer(many=is_many, data=request.data)

在这个例子中,我假设没有在第一个函数调用中传递many,它默认为False

由于您始终会运行测试isinstance,因此可以先调用它并将其用作many参数的值。

这样您只需拨打self.get_serializer一次。