Если у меня есть модель Django, которая определяет виджет следующим образом:
class Widget(models.Model):
type = models.CharField()
sold = models.DateTimeField()
price = models.DecimalField()
.
.
Как мне узнать общую стоимость проданных виджетов в месяц за определенный год?
Я бы хотел получить список из 12 месячных итогов, например:
[1225, 197, 131, 125, ...
Это будет означать, что общая стоимость проданных виджетов в январе составила 1225 долларов, февраль 197 долларов и т. Д.
Я ожидаю, что это можно сделать с помощью Django Query, но не совсем уверен, как.
UPDATE
Я бы предпочел не использовать какую-либо конкретную базу данных, чтобы упростить изменение баз данных. Я не против, если это не все сделано в одном запросе. Выполнение запроса, а затем некоторые манипуляции с использованием Python после - это нормально.
UPDATE
Я думаю, что могу немного изменить код из ответа на другой вопрос, который я поднял, чтобы получить это:
queryset = Widget.objects.filter(sold__year=year)
totals = [0] * 12
for widget in queryset:
totals[widget.sold.month - 1] += widget.price
return totals
Пожалуйста, дайте мне знать, если я что-то пропустил или есть лучший способ сделать это.