refactoring into models.py
tweaked, and inserting is now dependant on select values so no more integrity errors due to event_type constraints