django rest framework - 如何 POST 嵌套对象与父对象

django rest framework - How to POST nested object with parent object

我有父对象 order 和嵌套对象 orderDetail。

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

class OrderDetails(Model):
     order_detail_name = CharField(max_length=10)
     order = ForeignKey('Order')

我想 get/insert/update/delete OrderDetails 与订单对象本身。 如果我 post 这个 json,它应该 insert/update 两个对象。

{
    "id": 10,
    "order_name": "Some title",
    "orderDetails": [{
         "id": 15,
         "order_detail_name": "Best Detail"
     }]
}

就是这样。无法找到任何解决方案。我是 django/python.

的初学者

TIA

我用更简单的两个衬垫自己解决了问题。

class OrderSerializer(serializers.ModelSerializer):
   orderdetail_set = OrderDetailSerializer(many=true)

POST

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    

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