【发布时间】:2015-02-10 15:07:12
【问题描述】:
使用 django-rest-framework 3.0 并拥有这些简单的模型:
class Book(models.Model):
title = models.CharField(max_length=50)
class Page(models.Model):
book = models.ForeignKey(Books, related_name='related_book')
text = models.CharField(max_length=500)
鉴于此 JSON 请求:
{
"book_id":1,
"pages":[
{
"page_id":2,
"text":"loremipsum"
},
{
"page_id":4,
"text":"loremipsum"
}
]
}
我如何编写一个嵌套序列化程序来处理这个 JSON,并为每个page 为给定的book 创建一个新页面或更新(如果存在)。
class RequestSerializer(serializers.Serializer):
book_id = serializers.IntegerField()
page = PageSerializer(many=True)
class PageSerializer(serializers.ModelSerializer):
class Meta:
model = Page
我知道用instance 实例化序列化器会更新当前序列化器,但我应该如何在嵌套序列化器的create 方法中使用它?
【问题讨论】:
标签: python json django serialization django-rest-framework