Jam*_*s R 25 python django django-orm
我需要能够对两个带注释的列的聚合进行排序
所以我想做这样的事情:
c = c.annotate(metric=Sum('results__metric'))
c = c.annotate(metric_prior=Sum('results__metric_prior'))
c = c.annotate(variance=F('metric')-F('metric_prior')) #doesn't work, for demonstrative purposes only
Run Code Online (Sandbox Code Playgroud)
然后:
c = c.order_by('variance')
Run Code Online (Sandbox Code Playgroud)
有谁知道如何完成上述的事情?
mac*_*iek 12
其实,
c = c.annotate(variance=F('metric')-F('metric_prior'))
Run Code Online (Sandbox Code Playgroud)
此外,您还可以通过表达式进行排序,这意味着您可以使用:
c = c.order_by(F('metric') - F('metric_prior'))
Run Code Online (Sandbox Code Playgroud)
甚至只是:
c = c.order_by(Sum('results__metric') - Sum('results__metric_prior'))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4028 次 |
| 最近记录: |