django rest framework-如何使用父对象发布嵌套对象

Par*_*ngh 1 post relation django-rest-framework

我有父对象订单和嵌套对象orderDetail。

class Order(Model):
     order_name = CharField(max_length=10)

class OrderDetails(Model):
     order_detail_name = CharField(max_length=10)
     order = ForeignKey('Order')
Run Code Online (Sandbox Code Playgroud)

我想使用订单对象本身获取/插入/更新/删除OrderDetails。如果我发布此json,它应该插入/更新两个对象。

{
    "id": 10,
    "order_name": "Some title",
    "orderDetails": [{
         "id": 15,
         "order_detail_name": "Best Detail"
     }]
}
Run Code Online (Sandbox Code Playgroud)

就这样。无法找到任何解决方案。我是django / python的初学者。

TIA

Par*_*ngh 5

我使用更简单的两根衬纸解决了自己的问题。

class OrderSerializer(serializers.ModelSerializer):
   orderdetail_set = OrderDetailSerializer(many=true)
Run Code Online (Sandbox Code Playgroud)

开机自检

def create(self, validated_data):
    order_details_data = validated_data.pop('orderdetail_set')
    order = Order.objects.create(**validated_data)

    for order_detail_data in order_details_data:
        order_detail_data['order'] = order
        OrderDetail.objects.create(**order_detail_data)
    return order    
Run Code Online (Sandbox Code Playgroud)

现在,它给出了预期的响应。:)