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":