Tengo un modelo simple como esto:Django: Grupo por fecha (día, mes, año)
class Order(models.Model):
created = model.DateTimeField(auto_now_add=True)
total = models.IntegerField() # monetary value
y quiero salida de un desglose de mes a mes de:
- cuántas ventas que había en un mes (
COUNT
) - El valor combinado (
SUM
)
I' No estoy seguro de cuál es la mejor manera de atacar esto. He visto algunas consultas extra-selectas de aspecto bastante aterrador, pero mi mente simple me dice que podría estar mejor simplemente iterando números, comenzando desde un año/mes de inicio arbitrario y contando hasta llegar al mes actual, descartando simples consultas de filtrado para ese mes. Más trabajo en la base de datos, ¡menos estrés para el desarrollador!
¿Qué tiene más sentido para usted? ¿Hay alguna buena manera de que pueda extraer una tabla rápida de datos? ¿O es mi método sucio probablemente la mejor idea?
Estoy usando Django 1.3. No estoy seguro de si han agregado una forma más agradable al GROUP_BY
recientemente.
Este es un duplicado de http://stackoverflow.com/questions/8596856/django-get-distinct-dates-from-timestamp y http://stackoverflow.com/questions/1236865/grouping-dates -in-django/8597940 # 8597940 – tback