Если бы это был я, я мог бы использовать выделенную таблицу посещаемости (что-то вроде следующего):
class Attendance(Model):
student = models.ForeignKey('Student')
event = models.ForeignKey('Event')
present = models.BooleanField(default=True)
Вместо этого вы можете поменять поле студента на Карту, если вы этого хотите (но поскольку это один-к-одному, это не имеет значения). Значение по умолчанию для поля present
также можно поменять местами, в зависимости от того, как вы хотите обрабатывать записи в этой таблице.