Здравствуйте. Есть модель для учебного заведения. Основные 3 класса - предмет, преподаватель, студент. К предмету в поле "Преподаватели" через ForeignKey присоединяются преподаватели, и в поле студенты через ForeignKey присоединяются студенты. В свою очередь у преподавателей и студентов есть поля в которые присоединяется разная информация из дополнительных классов модели. (Например место жительства через OneToOneField)

Вопрос такой: как проще сделать сохранение информации для статистики? То есть чтобы потом можно было узнать, к примеру сколько студентов обучалось на этом предмете за 3 года. Пока мысли есть только в сторону создания дополнительной модели для архивирования и туда в случае изменения актуальных данных скидывать инфу. Может есть готовые решения или батарейки?