From f4e10ef20903d67e0f0b1bdeb462e3c2e1f34cdc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Gruszczy=C5=84ski?= Date: Sun, 17 Aug 2025 18:14:31 +0200 Subject: [PATCH] zmiany w /all_products, laczenie item i sugested --- app.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/app.py b/app.py index aff2f6b..cd4fe86 100644 --- a/app.py +++ b/app.py @@ -2069,14 +2069,13 @@ def all_products(): limit = request.args.get("limit", type=int) or 100 offset = request.args.get("offset", type=int) or 0 - # Produkty z Item z faktyczną popularnością products_from_items = ( db.session.query( func.lower(func.trim(Item.name)).label("normalized_name"), func.min(Item.name).label("display_name"), func.count(func.distinct(Item.list_id)).label("count"), ) - .group_by("normalized_name") + .group_by(func.lower(func.trim(Item.name))) ) products_from_suggested = ( @@ -2088,7 +2087,7 @@ def all_products(): .filter(~func.lower(func.trim(SuggestedProduct.name)).in_( db.session.query(func.lower(func.trim(Item.name))) )) - .group_by("normalized_name") + .group_by(func.lower(func.trim(SuggestedProduct.name))) ) union_q = products_from_items.union_all(products_from_suggested).subquery() @@ -2096,10 +2095,10 @@ def all_products(): final_q = ( db.session.query( union_q.c.normalized_name, - func.min(union_q.c.display_name).label("display_name"), + union_q.c.display_name, func.sum(union_q.c.count).label("count"), ) - .group_by(union_q.c.normalized_name) + .group_by(union_q.c.normalized_name, union_q.c.display_name) ) if sort == "alphabetical":