С 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
вложенного сериализатора?