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