ORMs are poorly suited for explicit asynchronous programming, that is, where the programmer must produce explicit callbacks anytime something that uses network access occurs. A primary reason for this is that ORMs make extensive use of the lazy loading pattern, which is more or less incompatible with explicit async.
I could not disagree more. App Engine's NDB library is amazing at async. It was designed by Guido and likely was the inspiration for PEP 3156. It is the best ORM I have ever used. It enables refactoring and performance optimization.
I like and use SQLAlchemy, but the real takeaway here is lazy-loading is an anti-pattern.