我正在使用mangodb数据库开发django框架
CRUD操作工作正常,但我面临注释查询接收错误的问题:
djongo.sql2mongo.SQLDecodeError: FAILED SQL: SELECT "app_message"."type", SUM(CASE WHEN "app_message"."type" = %(0)s THEN %(1)s ELSE %(2)s END) AS "bot" FROM "app_message" GROUP BY "app_message"."type" LIMIT 21
Params: ('Outbound', 1, 0)
Version: 1.2.38
Message.objects.values('type').\
annotate(bot=Count(Case(When(type="Outbound", then='id'), default=Value(0),
output_field=IntegerField()),
))
也尝试了1.2.31版,但没有成功
Python版本:3.6.1, Django版本:2.2.7
这样计算是没有意义的,因为} parameter [Django-doc]在聚合函数中进行过滤:
Value(0)
也将被计算为一。此外,您不需要自己进行过滤,Django可以使用^{这是您可以做到的:
希望这有帮助
相关问题 更多 >
编程相关推荐