DRF | Сериализация Django Model по-разному в зависимости от поля типа

Я возвращаюсь в Django / DRF после долгого времени.... Я обдумывал идею, где у меня есть Django модель, называемая "TheModel", которая в основном является чем-то вроде слегка абстрактной db модели, которая может быть связана с многочисленными типами. С точки зрения бизнес-логики бэкенда я не вижу необходимости иметь несколько моделей/базовых таблиц, представляющих каждый из этих типов отдельно.
. Я надеюсь, что это позволит пользователю отправлять параметры запроса, чтобы получить нужные ему типы TheModel с типами, которые с ними ассоциированы. Если понадобится, я могу просто переосмыслить их все как отдельные модели, если это не будет иметь смысла в дальнейшем.

Если TheModel может иметь типы 'A', 'B', 'C' и они могут немного отличаться друг от друга по структуре возврата JSON, какой подход будет наилучшим с высокого уровня -> вниз для этого?

В представлениях я хотел бы использовать ViewSet вместо ModelViewSet? В котором у меня могут быть обычные объекты python, представляющие типы, отражающие нужную мне структуру данных, которые я буду преобразовывать в TheModel, которая затем будет сериализована при ответе? Должен ли я отказаться от использования ModelSerializer и просто использовать Serializer?

Возможная структура возврата может быть...

{
 A: [],
 B: [],
 C: [],
}
Вернуться на верх