@classmethod
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)
