2017-01-19 7 views
1

受信リクエストが配列であるかどうかを確認するにはどうすればよいですか?今の私は最善の方法かもしれない何Djangoリクエスト配列

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) 

このアプローチを をやっていますか?これができた。このアプローチ簡素化する

答えて

3

一つの方法:この例では

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

を、私はFalseに最初の関数呼び出し、それはデフォルトでmanyを渡していないことであることを仮定しています。

いつもテストisinstanceを実行するので、それを最初に呼び出して、それをmanyパラメータの値として使用することもできます。

この方法では、self.get_serializerを1度だけコールします。

+1

ありがとうございます。私はこのシリアライザ= self.get_serializerを(多くの= isinstance(request.data、リスト)、data = request.data) –

関連する問題