def __init__(self, key_type, value_type, default=dict, **kwargs):
inheritance_comparator = issubclass if isinstance(key_type, type) else isinstance<EOL>if not inheritance_comparator(key_type, Column):<EOL><INDENT>raise ValidationError('<STR_LIT>')<EOL><DEDENT>if inheritance_comparator(key_type, BaseContainerColumn):<EOL><INDENT>raise ValidationError('<STR_LIT>')<EOL><DEDENT>if key_type.db_type is None:<EOL><INDENT>raise ValidationError('<STR_LIT>')<EOL><DEDENT>if isinstance(key_type, type):<EOL><INDENT>self.key_type = key_type<EOL>self.key_col = self.key_type()<EOL><DEDENT>else:<EOL><INDENT>self.key_col = key_type<EOL>self.key_type = self.key_col.__class__<EOL><DEDENT>super(Map, self).__init__(value_type, default=default, **kwargs)<EOL>
:param key_type: a column class indicating the types of the key
:param value_type: a column class indicating the types of the value