Ich habe ein einfaches Modell wie dieses:
class Order(models.Model):
created = model.DateTimeField(auto_now_add=True)
total = models.IntegerField() # monetary value
Und ich möchte eine monatliche Aufschlüsselung von:
- Wie viele Verkäufe gab es in einem Monat (
COUNT
) - Der kombinierte Wert (
SUM
)
Ich bin mir nicht sicher, wie ich das am besten angreifen kann. Ich habe einige ziemlich beängstigend aussehende Extra-Select-Abfragen gesehen, aber mein einfacher Verstand sagt mir, dass ich vielleicht besser dran bin, nur Zahlen zu iterieren, beginnend mit einem willkürlichen Startjahr / Monat und bis zum Erreichen des aktuellen Monats zu zählen und einfach wegzuwerfen Abfragen, die für diesen Monat gefiltert werden. Mehr Datenbankarbeit - weniger Entwicklerstress!
Was macht für Sie am meisten Sinn? Gibt es eine gute Möglichkeit, eine schnelle Datentabelle zurückzuziehen? Oder ist meine schmutzige Methode wahrscheinlich die beste Idee?
Ich benutze Django 1.3. Ich bin mir nicht sicher, ob sie in GROUP_BY
letzter Zeit einen schöneren Weg hinzugefügt haben .