From dae2c7b6895f285b1a8082421547cc61ecc13ca9 Mon Sep 17 00:00:00 2001 From: Untone Date: Fri, 23 Feb 2024 23:42:49 +0300 Subject: [PATCH] select-from-fix --- resolvers/stat.py | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/resolvers/stat.py b/resolvers/stat.py index 559ab16a..578182e6 100644 --- a/resolvers/stat.py +++ b/resolvers/stat.py @@ -1,4 +1,4 @@ -from sqlalchemy import func, distinct, select +from sqlalchemy import func, distinct, select, join from sqlalchemy.orm import aliased from orm.topic import TopicFollower, Topic @@ -71,23 +71,21 @@ def get_topics_with_stat(q): def author_follows_authors(author_id: int): - aliased_author_authors = aliased(AuthorFollower, name="af") - + af = aliased(AuthorFollower, name="af") q = ( - select(Author) - .join(aliased_author_authors, Author.id == aliased_author_authors.author) - .filter(aliased_author_authors.follower == author_id) + select(Author).select_from( + join(Author, af, Author.id == af.author) + ).where(af.follower == author_id) ) - q = add_author_stat_columns(q) return execute_with_ministat(q) def author_follows_topics(author_id: int): q = ( - select(Topic) - .join(TopicFollower, Topic.id == TopicFollower.topic) - .filter(TopicFollower.follower == author_id) + select(Topic).select_from( + join(Topic, TopicFollower, Topic.id == TopicFollower.topic) + ).where(TopicFollower.follower == author_id) ) q = add_topic_stat_columns(q)