Как в джанго обстоит с множественным наследованием моделей?
У django есть абстрактные модели, в которых вы можете определить нужные поля и применить это к основной модели.
Динамически создавать такие модели не получится. При каждом добавлении новой модели или полей к существующей модели нужно делать миграцию
Разделять модель на кучу подмоделей только из-за того, что у кого-то есть одно свойство, а у другого нет — вот где смысла нет.
Есть как минимум пара рабочих схем для этого:
1) JSON
2) EAV
Первый вариант предпочтителен для postgresql. Можно достаточно гибко создавать индексы для конкретных полей внутри json'а. О производительности json vs eav легко можно найти в интернете.