本文介绍了Django:获取两个相乘列的合计值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要获取两列的汇总值。因此,首先将它们加倍,然后得到它们的 sum()。下面的代码自然不起作用,只是为了澄清。

I need to get aggregated value of two columns. So first multiple them together and then get theirs sum(). Code below naturally does not work, it is just for clarification.

是否有可能或者我应该使用原始SQL?

Is it somehow possible or should I use raw SQL?

SomeModel.objects
    .filter(**something)
    .aggregate(Sum('one_column' * 'another_col'))


推荐答案

您不需要使用。

obj = SomeModel.objects.filter(**something).extra(
    select = {'total': 'SUM(one_column * another_column)'},
)

这篇关于Django:获取两个相乘列的合计值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-12 11:38