如何才能知道传入的请求是否为数组? 现在我正在采取这种方法
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)
最好的方法是什么?
答案 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
一次。