'store custom field metadata for one column into the object. Field is
the key name not the label'

def set_user_metadata(self, field, metadata):

    if (field is not None):
        if (not field.startswith('#')):
            raise AttributeError(("Custom    field    name    %s    must    begin    with    '#'" % repr(field)))
        if (metadata is None):
            traceback.print_stack()
            return
        m = dict(metadata)
        if ('#value#' not in m):
            if ((m['datatype'] == 'text') and m['is_multiple']):
                m['#value#'] = []
            else:
                m['#value#'] = None
        _data = object.__getattribute__(self, '_data')
        _data['user_metadata'][field] = m
