django 无法计算嵌套 SUM 上的总和
django cannot compute sum on nested SUM
我是 运行 这个查询,我在其中执行 price*inventory1
并且它有效,但是当我尝试执行时 price*(inventory1+inventory2)
django 抛出错误。
这个有效
results = (
Card.objects.values("rarity")
.annotate(price=Sum(F("price") * F("inventory1")))
.order_by()
)
这不是:(
results = (
Card.objects.values("rarity")
.annotate(
price=Sum(
F("price")
* Sum(
F("inventory1")
+ F("inventory2")
)
)
)
.order_by()
)
我觉得我做错了什么。所以,我怎样才能在 django ORM 中做到这一点。
没有理由使用内部总和,您可以使用:
Card.objects.values('rarity').annotate(
price=Sum(
<strong>F('price') * (F('inventory1') + F('inventory2'))</strong>
)
).order_by()
我是 运行 这个查询,我在其中执行 price*inventory1
并且它有效,但是当我尝试执行时 price*(inventory1+inventory2)
django 抛出错误。
这个有效
results = (
Card.objects.values("rarity")
.annotate(price=Sum(F("price") * F("inventory1")))
.order_by()
)
这不是:(
results = (
Card.objects.values("rarity")
.annotate(
price=Sum(
F("price")
* Sum(
F("inventory1")
+ F("inventory2")
)
)
)
.order_by()
)
我觉得我做错了什么。所以,我怎样才能在 django ORM 中做到这一点。
没有理由使用内部总和,您可以使用:
Card.objects.values('rarity').annotate(
price=Sum(
<strong>F('price') * (F('inventory1') + F('inventory2'))</strong>
)
).order_by()