def create_audit_event(self, code='AUDIT'):
        """Creates a generic auditing Event logging the changes between saves
        and the initial data in creates.

        Kwargs:
            code (str): The code to set the new Event to.

        Returns:
            Event: A new event with relevant info inserted into it
        """
        event = self._meta.event_model(
            code=code,
            model=self.__class__.__name__,
        )

        # Use the logged in User, if possible
        if current_user:
            event.created_by = current_user.get_id()

        self.copy_foreign_keys(event)
        self.populate_audit_fields(event)

        return event
Creates a generic auditing Event logging the changes between saves
        and the initial data in creates.

        Kwargs:
            code (str): The code to set the new Event to.

        Returns:
            Event: A new event with relevant info inserted into it