Указание одного из многих ключей для ответа сериализатора DRF

Я создаю API по спецификации, которая была определена третьей стороной, ответ возвращает список элементов, каждый из которых задан ключом, указывающим его тип.

Пример:

[
  {
    'someType': {
      'name': 'some type instance',
      'someTypeSpecificField': 'foo',
    }
  },
  {
    'someOtherType': {
      'name': 'some other type instance',
      'someOtherTypeSpecificField': 123,
    }
  },
  {
    'someType': {
      ...
    }
  },
  ...
]

Где все элементы ответа получены из одной модели, т.е.

class SomeModel(models.Model):
  name = models.CharField()
  type = models.ChoiceField()
  ...

Мне стало интересно, как лучше всего определить этот тип вывода с помощью сериализаторов DRF. В идеале он должен быть достаточно DRF-ым, чтобы его можно было правильно разобрать в нашем AutoSchema, но любые решения приветствуются.

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