En mi modelo de Django, tengo un modelo muy simple que representa una única ocurrencia de un evento (como ocurre una alerta de servidor):Agrupación por semana, y el relleno hacia fuera 'perdido' semanas
class EventOccurrence:
event = models.ForeignKey(Event)
time = models.DateTimeField()
Mi objetivo final es generar una tabla o gráfico que muestre cuántas veces ocurrió un evento en el pasado n semanas.
Así que mi pregunta tiene dos partes:
- Como puedo
group_by
la semana del campotime
? - ¿Cómo puedo "rellenar" el resultado de este
group_by
para agregar un valor cero para las semanas que faltan?
Por ejemplo, para la segunda parte, me gustaría transformar un resultado como este:
| week | count | | week | count |
| 2 | 3 | | 2 | 3 |
| 3 | 5 | —— becomes —> | 3 | 5 |
| 5 | 1 | | 4 | 0 |
| 5 | 1 |
Cuál es la mejor manera de hacer esto en Django? Las soluciones generales de Python también están bien.