I think the best thing you can do in this situation is design a system where the system administrator (non-technical user I am assuming from your description) fills out a form for an 'Event' model. The 'Event' is posted on the calendar or what have you and student's can register to participate in it. What is the reason for having separate db tables for each year of students? You could add a field to the Student model 'year' that describes the year they were admitted to the school. You could also intelligently determine their status (fresh, soph, junior, senior, etc) by the number of credits they have or whatever the business logic is.
I can't give a detailed process of how to make a model because I don't have the time but there are some great resources to beginning to learn Django,
Django Girls Tutorial or the
official Django Tutorial are great starting points.