Запрос фильтра SQLAlchemy по связанному объекту
С помощьюSQLAlchemyЯ имею отношение один ко многим с двумя таблицами - пользователями и оценками. Я пытаюсь запросить 10 лучших пользователей, отсортированных по их совокупному баллу за последние X дней.
users:
id
user_name
score
scores:
user
score_amount
created
Мой текущий запрос:
top_users = DBSession.query(User).options(eagerload('scores')).filter_by(User.scores.created > somedate).order_by(func.sum(User.scores).desc()).all()
Я знаю, что это явно не правильно, это просто моя лучшая догадка. Однако, после просмотра документации и поиска в Google, я не могу найти ответ.
РЕДАКТИРОВАТЬ: Возможно, это поможет, если я набросал, чтоMySQL запрос будет выглядеть так:
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