Я для сериализации пользуюсь вот этой библиотекой
https://marshmallow-sqlalchemy.readthedocs.io/en/latest/ Есть еще eve-sqlalchemy, но она идет уже с фласком. Еще можно попробовать поменять значение “dynamic” на дефолтное “select” у параметра lazy.
Кстати этот параметр lazy, то еще “креативное” решение у sqlalchemy. Он принимает за каким-то чертом 8 значений и каждое из них несет свой функционал. Например, если я ставлю select, то я не смогу фильтрануть поле, например parent.children.filter(…) - так не получится. Если же я ставлю “dynamic”, то не могу использовать joineload для запроса и получаю проблему n+1 запроса для определенных вью. Быть может если покопаться, то можно найти какой-нибудь superlazyload и использовать его вместо joinedload, но я забил на это дело, да и не факт, что с этим параметром не отвалиться что-нибудь другое) Это я к вопросу об убожестве Django ORM, в котором всё прекрасно и универсально работает без всяких параметров для relation полей.