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
现在它给出了预期的响应。 :)
我有父对象 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
现在它给出了预期的响应。 :)