Django - Как передать kwarg 'partial' из сериализатора в его дочерний сериализатор?
Когда я отправляю запрос PATCH, он устанавливает partial=True kwarg для сериализатора Viewset, в данном случае Book, однако когда Book имеет встроенный сериализатор (Chapter), он не устанавливает partial=True для вложенного сериализатора Chapter.
Оригинальный код выглядит так:
BookSerializer(ModelSerializer):
chapters = ChapterSerializer(many=True, read_only=False, required=False)
Я пробовал что-то вроде этого, чтобы передать partial
вниз, но это не работает:
BookSerializer(ModelSerializer):
chapters = SerializerMethodField()
def get_chapters(self,obj):
return ChapterSerializer(many=True, read_only=False, required=False, partial=self.partial)
Запрос json будет выглядеть примерно так:
{
"id" : 1,
"title" : "New Book Title",
"chapters" : [
{
"id" : 1,
"title" : New Chapter 1 Title
},
{
"id" : 7,
"title" : New Chapter 7 Title
},
]
}
Поэтому во время запроса эти две главы должны иметь partial_update и учитывать это при валидации.