我正在尝试使用annotate
和Case
所以我有以下内容(q
已经过滤了查询集)
q.values(*vals_of_interest).annotate(f1=Case(...))
这很好用,输出显示包含正确值的f1
。然而,当我尝试在注释中添加更多项时,f1
只会退出(它不会出错,它只是不在输出中。例如
q.values(*vals_of_interest).annotate(f1=Case(...), f2=Sum('field_2'))
此输出在任何地方都没有f1
。它会显示正确的f2
结果,但f1
根本就不存在。在注释上有Case
这样的限制吗?
更新:我也可以通过f2
和Case
同时显示两个值(只有默认值)。这似乎是hacky和不必要的,但它至少显示了正确的结果。如果有一种方法没有这样做,仍然会很好奇