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 :
- Combien de ventes ont été réalisées en un mois (
COUNT
) - La valeur combinée (
SUM
)
Je ne sais pas quelle est la meilleure façon d'aborder cette question. J'ai vu des requêtes extra-sélectives assez effrayantes, mais mon esprit simple me dit que je ferais mieux d'itérer des nombres, en commençant par une année/mois arbitraire et en comptant jusqu'au mois en cours, en lançant des requêtes simples filtrant pour ce mois. Plus de travail sur la base de données - moins de stress pour le développeur !
Qu'est-ce qui vous semble le plus logique ? Existe-t-il un moyen efficace de récupérer rapidement un tableau de données ? Ou bien ma sale méthode est-elle probablement la meilleure idée ?
J'utilise Django 1.3. Je ne sais pas s'ils ont ajouté une façon plus agréable d'utiliser la fonction GROUP_BY
récemment.