如何在 django 聚合中使用 IN CONDITION
Posted
技术标签:
【中文标题】如何在 django 聚合中使用 IN CONDITION【英文标题】:How to use IN CONDITION in django Aggregation 【发布时间】:2018-04-18 15:04:43 【问题描述】:如何使用 IN 条件(例如:SELECT SUM(a) FROM b WHERE a IN (1, 2, 3)) 通过使用 Django 聚合。
例子:
result = qs.aggregate(
amount = SUM(Case(WHEN('a IN(1, 2, 3)', then=Value(a)), default=0))
)
【问题讨论】:
【参考方案1】:和其他in
queries一样:
from django.db.models import Case, Sum, When, Value
result = qs.aggregate(
amount=Sum(Case(When(a__in=[1, 2, 3], then=Value(a)), default=0))
)
【讨论】:
以上是关于如何在 django 聚合中使用 IN CONDITION的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Django JSONField 数据上聚合(最小/最大等)?