on thing you didn't take into account is the is_deleted flag, so this will operate on all deleted exams as well.

However, that could be a feature--bulk undelete, for example.  so it's fine to keep things this way.