This commit is contained in:
Untone 2023-11-30 16:07:30 +03:00
parent 5f0a8f3b10
commit f1ccef7919
2 changed files with 7 additions and 11 deletions

View File

@ -140,10 +140,9 @@ async def load_shouts_by(_, info, options):
"""
q = (
select(Shout)
select(Shout, Author)
.options(
# joinedload(Shout.created_by, Author.id == Shout.created_by),
joinedload(Shout.authors),
joinedload(Shout.authors, Shout.authors.contains(Author.id)),
joinedload(Shout.topics),
)
.where(Shout.deleted_at.is_(None))

View File

@ -23,20 +23,17 @@ def add_topic_stat_columns(q):
q = (
q.outerjoin(ShoutTopic, Topic.id == ShoutTopic.topic)
.add_columns(func.count(distinct(ShoutTopic.shout))
.label("shouts_stat"))
.add_columns(func.count(distinct(ShoutTopic.shout)).label("shouts_stat"))
.outerjoin(aliased_shout_author, ShoutTopic.shout == aliased_shout_author.shout)
.add_columns(func.count(distinct(aliased_shout_author.author))
.label("authors_stat"))
.add_columns(func.count(distinct(aliased_shout_author.user)).label("authors_stat"))
.outerjoin(aliased_topic_follower)
.add_columns(func.count(distinct(aliased_topic_follower.follower))
.label("followers_stat"))
.add_columns(func.count(distinct(aliased_topic_follower.follower)).label("followers_stat"))
)
q = q.group_by(Topic.id)
print(f"[resolvers.topics] Generated SQL: {str(q)}") # Add this line for debugging
return q