La mappatura su SQLAlchemy dovrebbe essere abbastanza semplice. Non sto considerando gli alias, per ovvi motivi.
from sqlalchemy import func
megaId, numOfComments = (session.query(Film.id, func.count(FilmComment.id))
.join(FilmComment, Film.id == FilmComment.filmId)
.group_by(Film.id).first())
Questo dovrebbe funzionare. L'esplicito on
la clausola non sarebbe necessaria se FilmComment.filmId
sono stati dichiarati come chiave esterna.