comments-stat-off
All checks were successful
Deploy on push / deploy (push) Successful in 25s

This commit is contained in:
Untone 2024-02-26 01:10:15 +03:00
parent 152730526f
commit 90a6e23e61

View File

@ -1,4 +1,4 @@
from sqlalchemy import func, distinct, select, join, and_, case, true, cast, Integer from sqlalchemy import func, distinct, select, join, and_, case, true, cast, Integer, literal
from sqlalchemy.orm import aliased from sqlalchemy.orm import aliased
from orm.reaction import Reaction, ReactionKind from orm.reaction import Reaction, ReactionKind
@ -56,7 +56,7 @@ def add_author_stat_columns(q):
aliased_author_authors = aliased(AuthorFollower) aliased_author_authors = aliased(AuthorFollower)
aliased_author_followers = aliased(AuthorFollower) aliased_author_followers = aliased(AuthorFollower)
aliased_reaction = aliased(Reaction) # aliased_reaction = aliased(Reaction)
q = ( q = (
q.outerjoin(aliased_shout_author, aliased_shout_author.author == Author.id) q.outerjoin(aliased_shout_author, aliased_shout_author.author == Author.id)
@ -77,18 +77,17 @@ def add_author_stat_columns(q):
'followers_stat' 'followers_stat'
) )
) )
# FIXME: author.stat.comments
.outerjoin(aliased_reaction) #.outerjoin(aliased_reaction)
.add_columns( .add_columns(
func.count(distinct(aliased_reaction.id)).filter( literal('0')
and_( #func.count(distinct(aliased_reaction.id)).filter(
aliased_reaction.created_by == Author.id, # and_(
aliased_reaction.kind == ReactionKind.COMMENT.value, # aliased_reaction.created_by == Author.id,
aliased_reaction.deleted_at.is_(None), # aliased_reaction.kind == ReactionKind.COMMENT.value,
) # aliased_reaction.deleted_at.is_(None),
) # )
.label('comments_count') ).label('comments_count')
)
) )
q = q.group_by(Author.id) q = q.group_by(Author.id)