У меня есть простая модель:
class Order(models.Model):
created = model.DateTimeField(auto_now_add=True)
total = models.IntegerField() # monetary value
И я хочу вывести разбивку по месяцам:
- Сколько продаж было за месяц (
COUNT
) - Комбинированное значение (
SUM
)
Я не уверен, что лучший способ атаковать это. Я видел некоторые довольно страшные лишние запросы, но мой простой ум говорит мне, что мне может быть лучше просто перебирать числа, начиная с произвольного начала года/месяца и подсчета до тех пор, пока я не дойду до текущего месяца, выбрасывая простые фильтрации запросов за этот месяц. Больше работы с базами данных - меньше стресса для разработчиков!
Что для вас наиболее важно? Есть ли хороший способ, которым я могу отменить быстрый стол данных? Или мой грязный метод, вероятно, лучшая идея?
Я использую Django 1.3. Не уверен, что недавно они добавили лучший способ GROUP_BY
.