@classmethod
def get_csv_header(cls, deserialize=None, serialize=True, delimiter='|',
    wrap_all_strings=False, wrapper_character="'",
    double_wrapper_character_when_nested=False, escape_character='\\',
    line_terminator='\r\n', config_set=None):
    """Retrieve a header string for a CSV representation of the model.

        :param attributes: List of :term:`model attributes <model attribute>` to
          include.
        :type attributes: :class:`list <python:list>` of :class:`str <python:str>`

        :param delimiter: The character(s) to utilize between columns. Defaults to
          a pipe (``|``).
        :type delimiter: :class:`str <python:str>`

        :param wrap_all_strings: If ``True``, wraps any string data in the
          ``wrapper_character``. If ``None``, only wraps string data if it contains
          the ``delimiter``. Defaults to ``False``.
        :type wrap_all_strings: :class:`bool <python:bool>`

        :param null_text: The text value to use in place of empty values. Only
          applies if ``wrap_empty_values`` is ``True``. Defaults to ``'None'``.
        :type null_text: :class:`str <python:str>`

        :param null_text: The text value to use in place of empty values. Only
          applies if ``wrap_empty_values`` is ``True``. Defaults to ``'None'``.
        :type null_text: :class:`str <python:str>`

        :param wrapper_character: The string used to wrap string values when
          wrapping is necessary. Defaults to ``'``.
        :type wrapper_character: :class:`str <python:str>`

        :param double_wrapper_character_when_nested: If ``True``, will double the
          ``wrapper_character`` when it is found inside a column value. If ``False``,
          will precede the ``wrapper_character`` by the ``escape_character`` when
          it is found inside a column value. Defaults to ``False``.
        :type double_wrapper_character_when_nested: :class:`bool <python:bool>`

        :param escape_character: The character to use when escaping nested wrapper
          characters. Defaults to ``\\``.
        :type escape_character: :class:`str <python:str>`

        :param line_terminator: The character used to mark the end of a line.
          Defaults to ``\\r\\n``.
        :type line_terminator: :class:`str <python:str>`

        :param config_set: If not :obj:`None <python:None>`, the named configuration set
          to use. Defaults to :obj:`None <python:None>`.
        :type config_set: :class:`str <python:str>` / :obj:`None <python:None>`

        :returns: A string ending in ``line_terminator`` with the model's CSV column names
          listed, separated by the ``delimiter``.
        :rtype: :class:`str <python:str>`
        """
    column_names = cls.get_csv_column_names(deserialize=deserialize,
        serialize=serialize, config_set=config_set)
    header_string = cls._get_attribute_csv_header(column_names, delimiter=
        delimiter, wrap_all_strings=wrap_all_strings, wrapper_character=
        wrapper_character, double_wrapper_character_when_nested=
        double_wrapper_character_when_nested, escape_character=
        escape_character, line_terminator=line_terminator)
    return header_string
