2017-02-21 68 views
1

的陣列的情況下request.data我有一個Django 1.9伸出且從客戶端接收一個列表對象一個REST視圖,所以代碼看起來是這樣的:Django的REST - 添加自定義字段中的對象

客戶端對象:

[ 
    { 
     "field_a": "...", 
     "field_b": "..." 
    }, 
    { 
     "field_a": "...", 
     "field_b": "..." 
    } 
] 

的視圖:

@api_view(['POST']) 
def send_sim_info(request): 
    serializer = MySerializer(data=request.data, many=True) 

所以串行器的類型爲ListSerializer

問題

在這種情況下,如何向request.data添加字段?在一個對象案例中,我只會寫request.data['addition_field'] = my_value。對於數組的情況,乾淨的方法是什麼?

回答

1

它看起來像你正在使用Django的其餘框架。下面的代碼會起作用嗎?

class MySerializer(serializers.ListSerializer): 
    def create(self, validated_data): 
     things = [Thing(**item) for item in validated_data] 
     for thing in things: 
      thing['additional_field'] = my_value 
     return Thing.objects.bulk_create(things) 

這是基於docs中的示例。

相關問題