Mapear isso para SQLAlchemy deve ser bastante simples. Não estou considerando os apelidos, por razões óbvias.
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())
Isso deve funcionar. O
on
explícito cláusula não seria necessária se FilmComment.filmId
foram declarados como uma chave estrangeira.