Dans mon modèle Django, j'ai un modèle très simple qui représente une seule occurrence d'un événement (comme l'apparition d'une alerte serveur) :
class EventOccurrence:
event = models.ForeignKey(Event)
time = models.DateTimeField()
Mon objectif final est de produire un tableau ou un graphique qui montre combien de fois un événement s'est produit au cours des dernières années. n semaines.
Ma question comporte donc deux parties :
- Comment puis-je
group_by
la semaine dutime
champ ? - Comment puis-je "rembourrer" le résultat de ce
group_by
d'ajouter une valeur nulle pour les semaines manquantes ?
Par exemple, pour la deuxième partie, j'aimerais transformer un résultat comme celui-ci :
| week | count | | week | count |
| 2 | 3 | | 2 | 3 |
| 3 | 5 | —— becomes —> | 3 | 5 |
| 5 | 1 | | 4 | 0 |
| 5 | 1 |
Quelle est la meilleure façon de faire cela dans Django ? Les solutions générales en Python sont également acceptables.