django rest framework model foreign key -


i have 2 models

class order(models.model):      fields...   class orderitem(models.model):      fiels...      order = models.foreignkey(order, related_name='items') 

and have 2 serializers:

class createorderitemserializer(serializers.modelserializer):     class meta:         model = orderitem         resource_name = 'order-item'         fields = ('order', 'count')    ..... class orderserializer(serializers.modelserializer):      items = createorderitemserializer(many=true)      class meta:          model = order          resource_name = 'order'          fields = ('id','items') 

i posted order items array this:

{     'ordername': 'foo',     'items': [{         'name': 'foo1',         },{         'name': 'foo2',         },       ] } 

but have error:

"order":["this field required."] 

how can first create order later create items orderid?

my own answer question: first add extra_kwargs item serializer:

class createorderitemserializer(serializers.modelserializer):     class meta:         model = orderitem         resource_name = 'order-item'         fields = ('order', 'count')         extra_kwargs = {             'order': {'required': false},         } 

after add create method orderserializer:

def create(self, validated_data):     items_data = validated_data.pop('items')     order = order.objects.create(**validated_data)     item in items_data:         item_name = item['name']         item, created = orderitem.objects.get_or_create(order=order,name=item_name)     return order 

Comments

Popular posts from this blog

php - How to display all orders for a single product showing the most recent first? Woocommerce -

asp.net - How to correctly use QUERY_STRING in ISAPI rewrite? -

angularjs - How restrict admin panel using in backend laravel and admin panel on angular? -