Я использую модель транзакции для отслеживания всех событий, проходящих через систему
class Transaction(models.Model):
actor = models.ForeignKey(User, related_name="actor")
acted = models.ForeignKey(User, related_name="acted", null=True, blank=True)
action_id = models.IntegerField()
......
как мне получить 5 лучших участников моей системы?
В sql это будет в основном
SELECT actor, COUNT(*) as total
FROM Transaction
GROUP BY actor
ORDER BY total DESC