Ответ 1
Документация предоставляет следующие возможности по default
:
Скаляр, вызываемый Python или ClauseElement, представляющий значение по умолчанию для этого столбца, которое будет вызываться при вставке, если этот столбец в противном случае не указан в предложении VALUES вставки.
Вы можете использовать простую функцию или просто использовать объект select()
.
В вашем случае, может быть, что-то вроде:
from sqlalchemy.sql import select, func
...
Column('version', Integer, default=select([func.max(1,
func.max(version_table.c.old_versions))]))