最佳答案
使用 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,并为给定的 book
的每个 page
创建一个新页面或者更新它(如果存在的话)。
class RequestSerializer(serializers.Serializer):
book_id = serializers.IntegerField()
page = PageSerializer(many=True)
class PageSerializer(serializers.ModelSerializer):
class Meta:
model = Page
我知道用 instance
实例化序列化程序将更新当前的序列化程序,但是我应该如何在嵌套序列化程序的 create
方法中使用它?