def __init__(self, name, aliases=None):
if not isinstance(name, str):<EOL><INDENT>raise ValueError('<STR_LIT>')<EOL><DEDENT>if aliases is not None:<EOL><INDENT>name = aliases.get(name, name)<EOL><DEDENT>if self.PICK_SEP in name:<EOL><INDENT>self._name, self._subname = name.split(self.PICK_SEP)<EOL><DEDENT>else:<EOL><INDENT>self._name, self._subname = name, None<EOL><DEDENT>
Create from field name.

        :param name: Field name.
        :type name: str
        :param aliases: Aliases for all fields
        :type aliases: dict
        :raise: ValueError for non-string name