From 35f7a35f27bf6be7c81668eb5a5bf332ddba6e8f Mon Sep 17 00:00:00 2001 From: Untone Date: Mon, 29 Jan 2024 01:57:34 +0300 Subject: [PATCH] scored-subquery-fix-3 --- resolvers/reader.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/resolvers/reader.py b/resolvers/reader.py index abacc98c..4cd64bbf 100644 --- a/resolvers/reader.py +++ b/resolvers/reader.py @@ -363,16 +363,17 @@ async def load_shouts_search(_, _info, text, limit=50, offset=0): # Use the subquery in the main query q = ( - select([subquery]) + select([subquery.c.Shout, subquery.c.score]) .order_by(desc(subquery.c.score)) .limit(limit) .offset(offset) ) - shouts_data = [] - for shout, score in session.execute(q).all(): - sdict = shout.dict() - sdict['score'] = score - shouts_data.append(sdict) + + results = session.execute(q).all() + logger.debug(f'search found {len(results)} results') + + # Directly build the shouts_data list within the loop + shouts_data = [shout.Shout.dict() for score, shout in results] return shouts_data