2017-02-21 79 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中的示例。

相关问题