[Answer]-Group by in django aggregate function?

1👍

I believe just adding a values call will do that

my_stock = UserStock.objects.get(user=request.user)\
    .values('stock_id').annotate(sum_price = sum('price'), sum_amount = sum('amount'))

and you will get back a list of dicts similar to

[
    {'stock_id': 0, 'sum_price': 10, 'sum_amount': 25},
    ...
]

see here for more info

0👍

stock = Stock.objects.all().annotate(sum_price = Sum('user_stock__price'), sum_amount = Sum('user_stock__amount'))

It should work.

I’ve removed the User filter in my snippet to simplify but you can add it of course.

Leave a comment