From 7f8908a84b8564b5742be38e55513806a177871b Mon Sep 17 00:00:00 2001 From: knst-kotov Date: Thu, 4 Nov 2021 15:06:49 +0300 Subject: [PATCH] load topics and authors --- resolvers/zine.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/resolvers/zine.py b/resolvers/zine.py index bc66d0be..3a7cd3c5 100644 --- a/resolvers/zine.py +++ b/resolvers/zine.py @@ -78,6 +78,7 @@ class ShoutsCache: async def prepare_recent_shouts(): with local_session() as session: stmt = select(Shout).\ + options(selectinload(Shout.authors), selectinload(Shout.topics)).\ order_by(desc("createdAt")).\ limit(ShoutsCache.limit) shouts = [] @@ -94,6 +95,7 @@ class ShoutsCache: async def prepare_top_overall(): with local_session() as session: stmt = select(Shout, func.sum(ShoutRating.value).label("rating")).\ + options(selectinload(Shout.authors), selectinload(Shout.topics)).\ join(ShoutRating).\ group_by(Shout.id).\ order_by(desc("rating")).\ @@ -112,6 +114,7 @@ class ShoutsCache: month_ago = datetime.now() - timedelta(days = 30) with local_session() as session: stmt = select(Shout, func.sum(ShoutRating.value).label("rating")).\ + options(selectinload(Shout.authors), selectinload(Shout.topics)).\ join(ShoutRating).\ where(Shout.createdAt > month_ago).\ group_by(Shout.id).\ @@ -131,6 +134,7 @@ class ShoutsCache: month_ago = datetime.now() - timedelta(days = 30) with local_session() as session: stmt = select(Shout, func.sum(ShoutViewByDay.value).label("views")).\ + options(selectinload(Shout.authors), selectinload(Shout.topics)).\ join(ShoutViewByDay).\ where(ShoutViewByDay.day > month_ago).\ group_by(Shout.id).\