J'ai un modèle simple comme celui-ci:
class Order(models.Model):
created = model.DateTimeField(auto_now_add=True)
total = models.IntegerField() # monetary value
Et je veux produire une ventilation mois par mois de:
- Combien de ventes il y a eu en un mois (
COUNT
) - La valeur combinée (
SUM
)
Je ne sais pas quelle est la meilleure façon d'attaquer cela. J'ai vu des requêtes extra-sélectives assez effrayantes, mais mon esprit simple me dit que je ferais peut-être mieux d'itérer des nombres, en commençant par une année / mois de début arbitraire et en comptant jusqu'à ce que j'atteigne le mois en cours, en jetant simplement filtrage des requêtes pour ce mois. Plus de travail sur la base de données - moins de stress pour les développeurs!
Qu'est-ce qui a le plus de sens pour vous? Existe-t-il une bonne façon de récupérer un tableau rapide de données? Ou est-ce que ma méthode sale est probablement la meilleure idée?
J'utilise Django 1.3. Je ne sais pas s'ils ont ajouté une manière plus agréable GROUP_BY
récemment.