diff --git a/resolvers/stat.py b/resolvers/stat.py index 8c7728c4..8add11fa 100644 --- a/resolvers/stat.py +++ b/resolvers/stat.py @@ -15,21 +15,20 @@ def add_topic_stat_columns(q): q = q.outerjoin(aliased_shout).add_columns( func.count(distinct(aliased_shout.shout)).label("shouts_stat") ) - # Join the Topic table with the Author table - q = q.join(Author, TopicFollower.follower == Author.id) aliased_follower = aliased(TopicFollower) q = q.outerjoin( - aliased_follower, aliased_follower.follower == Author.id + aliased_follower, aliased_follower.topic_id == Topic.id ).add_columns( - func.count(distinct(aliased_follower.follower)).label("followers_stat") + func.count(distinct(aliased_follower.follower_id)).label("followers_stat") ) - q = q.group_by(Author.id) + q = q.group_by(Topic.id) return q + def add_author_stat_columns(q): aliased_shout = aliased(ShoutAuthor) q = q.outerjoin(aliased_shout).add_columns(