Remove the classChoiceN fields from Students, and add a ManyToMany
between Student and Class (remember model class names should be
singular, so "Student", not "Students") using a through table with an
additional "choice" integer field.
The "choice" field should have a maximum value of 3, and you will want
unique_together constraints on the through table for (student, class)
and (student, choice) - you can't sign up for the same class twice,
and you can only have one of each choice.
Cheers
Tom