Get instance data by slug and kind. Raise 404 Not Found if there is no data.

    This function requires model has a `slug` column.

    :param model: a string, model name in rio.models
    :param slug: a string used to query by `slug`. This requires there is a
                 slug field in model definition.
    :param kind: a string specified which kind of dict tranformer should be called.
    :return: a dict or None.

def get_data_by_slug(model, slug, kind='', **kwargs):
    """Get instance data by slug and kind. Raise 404 Not Found if there is no data.

    This function requires model has a `slug` column.

    :param model: a string, model name in rio.models
    :param slug: a string used to query by `slug`. This requires there is a
                 slug field in model definition.
    :param kind: a string specified which kind of dict tranformer should be called.
    :return: a dict or None.
    """

    instance = get_instance_by_slug(model, slug, **kwargs)

    if not instance:
        return

    return ins2dict(instance, kind)