Django查询技巧

geteshi
2024-05-31 / 0 评论 / 14 阅读 / 正在检测是否收录...

查询每个供货商的商品库存

如果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

评论 (0)

取消