Django-rest-framework: как обновить вложенный внешний ключ? Мой метод обновления даже не вызывается

У меня есть что-то вроде этого (я включил только соответствующие части):

class ImageSerializer(serializers.ModelSerializer):
  telescopes = TelescopeSerializer(many=True)

  def update(self, instance, validated_data):
    # In this method I would perform the update of the telescopes if needed.
    # The following line is not executed.
    return super().update(instance, validated_data)

  class Meta:
    model = Image
    fields = ('title', 'telescopes',)

Когда я выполняю GET, я получаю вложенные данные так, как мне нужно, например:

{
  'title': 'Some image',
  'telescopes': [
    'id': 1,
    'name': 'Foo'
  ]
}

Теперь, если я хочу обновить это изображение, изменив название, но не телескопы, я должен PUT сделать следующее:

{
  'title': 'A new title',
  'telescopes': [
    'id': 1,
    'name': 'Foo'
  ]
}

Кажется, что django-rest-framework даже не вызывает мой метод update, потому что проверка модели не удается (Telescope.name имеет ограничение unique), а django-rest-framework проверяет ее так, как будто хочет ее создать?

Все работало нормально, когда я не использовал вложенный сериализатор, а просто PrimaryKeyRelatedField, но мне нужен вложенный сериализатор по причине производительности (чтобы избежать слишком большого количества вызовов API).

Кто-нибудь знает, что я упускаю?

Спасибо!

Вы найдете решение здесь Django rest relations

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