zmiany w /all_products, laczenie item i sugested

This commit is contained in:
Mateusz Gruszczyński
2025-08-17 18:14:31 +02:00
parent ff0f2a3601
commit f4e10ef209

9
app.py
View File

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