2016-06-08 9 views
0

Ich habe Elternobjekt Reihenfolge und geschachtelte Objekt orderDetail.Django Rest Framework - So verschachteln POST Objekt mit übergeordnetem Objekt

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

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

Ich möchte OrderDetails mit Bestellobjekt selbst erhalten/hinzufügen/aktualisieren/löschen. Wenn ich dieses json poste, sollte es beide Objekte einfügen/aktualisieren.

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

Das ist alles. nicht in der Lage, irgendeine Lösung zu finden. Ich bin Anfänger zu Django/Python.

TIA

+0

kann jeder plz helfen? –

Antwort

3

Ich löste get Problem durch meine Selbst einfacher zwei Liner verwenden.

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  

nun seine Antwort zu geben, wie erwartet. :)

Verwandte Themen