查询每个供货商的商品库存
如果supplier_supplier.id是每个供应商的ID,并且在extra()方法中使用原始SQL查询来计算每个供应商的库存总和,可以按如下方式操作:
from django.db.models import Sum
# 假设您有名为Supplier的模型,它有一个名为supplier的外键字段指向supplier_supplier模型
# 获取每个供应商的库存总和
supplier_stock_sums = Supplier.objects.extra(
select={'stock_sum': 'SELECT IFNULL(SUM(main_product.stock), 0) FROM main_product WHERE main_product.supplier_id = supplier_supplier.id AND main_product.status = 10'}
)
# 打印每个供应商的库存总和
for supplier in supplier_stock_sums:
print(f"供应商 {supplier.id} 的库存总和为 {supplier.stock_sum}")
在上面的示例中,在extra()方法的select参数中使用了原始SQL查询,并在查询中引用了supplier_supplier.id来表示每个供应商的ID。这样就可以计算每个供应商的库存总和。
评论 (0)