これは私のストームコードです:
items = store.find((Delivery, Product, Sum(Delivery.quantity)),
Delivery.id.is_in(order.id for order in self.orders),
Product.id == Delivery.product_id) \
.group_by(Delivery.date, Product.id, Delivery.discount) \
.order_by(Delivery.date, Product.name, Delivery.discount)
これは、およそ次の SQL に変換されます。
SELECT deliveries.id, products.id, SUM(deliveries.quantity)
FROM deliveries, products
WHERE products.id = deliveries.id AND
-> deliveries.id IN (1,10,5,24,122, ...)
GROUP BY deliveries.date, product.id, delivery.discount
ORDER BY deliveries.date, product.id, delivery.discount
self.orders
が長すぎる場合、 Too many SQL variables例外が発生します。
これを達成する別の方法はありますか?
私の唯一のアイデアは、注文ごとにクエリを作成し、辞書を使用して手動で結合することです。