Из документации SQLAlchemy неясно, когда используется дискриминатор для полиморфного c наследования, определенного через значение polymorphic_on, мне не удалось найти пример, показывающий, как он используется внутри.
Насколько я понимаю, SQLAlchemy в любом случае необходимо отслеживать всех дочерних элементов класса, и на основе этого он может проверить, находится ли первичный ключ как в базовой таблице, так и в любой из возможных дочерних таблиц. позволяя загрузить эти дополнительные данные, если необходимо.
Почему требуется дополнительное поле polymorphic_on и как оно используется внутри SQLAlchemy?