def make_instance(cls, data):
        """Validate the data and create a model instance from the data.

        Args:
            data (dict): The unserialized data to insert into the new model
                instance through it's constructor.

        Returns:
            peewee.Model|sqlalchemy.Model: The model instance with it's data
                inserted into it.

        Raises:
            AttributeError: This is raised if ``Meta.model`` isn't set on the
                schema's definition.
        """
        schema = cls()

        if not hasattr(schema.Meta, 'model'):
            raise AttributeError("In order to make an instance, a model for "
                                 "the schema must be defined in the Meta "
                                 "class.")

        serialized_data = schema.load(data).data

        return cls.Meta.model(**serialized_data)