Django admin: подсчет вхождений в поле и сортировка по другому полю
У меня следующая модель:
class Random(models.Model):
person = models.TextField(blank=True, null=True)
event = models.TextField(blank=True, null=True)
event_date = models.DateTimeField(blank=True, null=True)
событие имеет 3 возможных значения (A, B, C)
Выборочные значения:
person event event_date
elton A 1 Jan 2022
john B 2 Jan 2022
elton B 3 Jan 2022
elvis B 4 Jan 2022
john A 5 Jan 2022
elvis B 6 Jan 2022
john A 11 Jan 2022
Желаемый результат в django admin:
Показать, сколько раз человек посетил каждое мероприятие, и список должен быть отсортирован по метке времени, когда он посетил мероприятие А. Должны быть показаны только те люди, которые посетили мероприятие А.
person event-count-A event-count-B event-count-C latest_A_event
------- ------------- ------------- ------------- -----------
john 2 1 0 11 Jan 2022
elton 1 1 0 1 Jan 2022
Как это можно сделать наиболее элегантным способом в django admin? Кодовая база, с которой я имею дело, работает на django 1.11