Eu tenho um modelo simples como este:
class Order(models.Model):
created = model.DateTimeField(auto_now_add=True)
total = models.IntegerField() # monetary value
E eu quero produzir um detalhamento mês a mês de:
- Quantas vendas houve em um mês (
COUNT
) - O valor combinado (
SUM
)
Não tenho certeza de qual é a melhor maneira de atacar isso. Já vi algumas consultas extra-selecionadas de aparência bastante assustadora, mas minha mente simples está me dizendo que seria melhor apenas iterar números, começando de um ano / mês inicial arbitrário e contando até chegar ao mês atual, descartando simples filtragem de consultas para aquele mês. Mais trabalho de banco de dados - menos estresse do desenvolvedor!
O que faz mais sentido para você? Existe uma maneira legal de obter uma tabela de dados rápida? Ou meu método sujo é provavelmente a melhor ideia?
Estou usando o Django 1.3. Não tenho certeza se eles adicionaram uma maneira mais agradável GROUP_BY
recentemente.