def _exclusions(table_name, ignore_columns):
    """Generate a list of columns to exclude from serialisation for a given table name

    Parameters
    ----------
    table_name : str
        The name of a data table within the app
    ignore_columns :  list, tuple, dict or str
        A list or tuple of column names to ignore, a dict mapping
        table names to such lists or tuples, or a string with a single column name

    Returns
    -------
    list
      of column names
    """
    if isinstance(ignore_columns, (list, tuple)):
        return ignore_columns
    elif isinstance(ignore_columns, dict):
        return ignore_columns[table_name]
    elif isinstance(ignore_columns, str):
        return [ignore_columns]
    else:
        return []