W moim modelu Django, mam bardzo prosty model, który reprezentuje pojedynczy wystąpienie zdarzenia (takiego jak serwer występujące alert):Grupowanie przez tydzień, a wyściółka out „brakuje” tydzień
class EventOccurrence:
event = models.ForeignKey(Event)
time = models.DateTimeField()
Moim celem końcowym jest wygenerowanie tabeli lub wykresu pokazującego, ile razy zdarzyło się wydarzenie w ciągu ostatnich tygodni: n.
Więc moje pytanie składa się z dwóch części:
- Jak mogę
group_by
tydzień polatime
? - W jaki sposób mogę "wyplątać" wynik tego
group_by
, aby dodać wartość zerową dla brakujących tygodni?
Na przykład, dla drugiej strony, chciałbym przekształcić wynik takiego:
| week | count | | week | count |
| 2 | 3 | | 2 | 3 |
| 3 | 5 | —— becomes —> | 3 | 5 |
| 5 | 1 | | 4 | 0 |
| 5 | 1 |
Jaki jest najlepszy sposób, aby to zrobić w Django? Ogólne rozwiązania Pythona są również w porządku.