SQLAlchemy filtrar consulta por objeto relacionado
UtilizandoSQLAlchemyTengo una relación de uno a muchos con dos tablas: usuarios y puntuaciones. Estoy tratando de consultar a los 10 usuarios principales ordenados por su puntaje agregado en los últimos X días.
users:
id
user_name
score
scores:
user
score_amount
created
Mi consulta actual es:
top_users = DBSession.query(User).options(eagerload('scores')).filter_by(User.scores.created > somedate).order_by(func.sum(User.scores).desc()).all()
Sé que esto claramente no es correcto, es solo mi mejor suposición. Sin embargo, después de mirar la documentación y buscar en Google no puedo encontrar una respuesta.
EDITAR: Tal vez ayudaría si esbozó lo que elMySQL la consulta se vería como:
SELECT user.*, SUM(scores.amount) as score_increase
FROM user LEFT JOIN scores ON scores.user_id = user.user_id
WITH scores.created_at > someday
ORDER BY score_increase DESC