为了简化事情,假设我有一个模型StockIOLog。在
class StockIOLog(models.Model):
pid = models.IntegerField()
name= models.CharField(max_length=50)
type= models.IntegerField()
stock = models.IntegerField()
它包含以下数据:
^{pr2}$类型0表示产品已购买,类型1表示产品已消耗,现在我要计算每个产品批次的总库存。在
通过运行以下SQL查询
SELECT pid, name, batch, SUM(in) - SUM(out) as stock FROM (
SELECT pid, name, type SUM(quantity) as in, 0 as out from `qset` WHERE type=0 GROUP BY pid,type,batch as a
UNION
SELECT pid, name, type 0 as in, SUM(quantity) as out from `qset` WHERE type=1 GROUP BY pid,type,batch as b
) ac table_a
我跟着queryset
pid | name | batch | stock
-----------------------------------
1 | Napa | AB | 85
-----------------------------------
1 | Napa | AA | 80
-----------------------------------
2 | Amod | AA | 40
-----------------------------------
2 | Amod | CA | 80
如何在django ORM中做类似的事情?
也许不是最好的答案,但是您可以通过以下查询在字典中得到}
purchased
和{相关问题 更多 >
编程相关推荐