I want to multiply two values in a queryset how do I achieve this:
This is what I have :
def get_adjustment(self):
Adjustment.objects.filter(employee_month_id=1,adjustment_type=2)
.values('exchange_rate','amount').aggregate(Sum('amount', field="exchange_rate*amount")
You need to use F() objects.
.values('exchange_rate','amount').aggregate(Sum(F('amount') * F('exchange_rate')))
See the query expressions docs.
obj = SomeModel.objects.filter(**something).extra(
select = {'total': 'SUM(one_column * another_column)'},
)
Adjustment.objects.filter(employee_month_id=1,adjustment_type=2)
.values('exchange_rate','amount').extra(select = {'total': 'SUM(exchange_rate * amount)'})
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With