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 и учитывать это при валидации.

Вернуться на верх