Validation helper to ensure that keys are present in data

        This method makes sure that all of keys received here are
        present in the data received from the caller.

        It is better to call this method in the `validate()` method of
        your event. Not in the `clean()` one, since the first will be
        called locally, making it easier to debug things and find
        problems.

def validate_keys(self, *keys):
        """Validation helper to ensure that keys are present in data

        This method makes sure that all of keys received here are
        present in the data received from the caller.

        It is better to call this method in the `validate()` method of
        your event. Not in the `clean()` one, since the first will be
        called locally, making it easier to debug things and find
        problems.
        """
        current_keys = set(self.data.keys())
        needed_keys = set(keys)
        if not needed_keys.issubset(current_keys):
            raise ValidationError(
                'One of the following keys are missing from the '
                'event\'s data: {}'.format(
                    ', '.join(needed_keys.difference(current_keys)))
            )
        return True