def _serialize(self, value, attr, obj): if value is None: return None return ah.enum_item_id(self.enum_cls, value)
def __init__(self, enum_cls, default=None, attribute=None, error=None, **kwargs): self.enum_cls = enum_cls self.choices = kwargs.get('choices', ah.enum_choices(enum_cls)) if default is not None: default = ah.enum_item_id(enum_cls, default) super(Enum, self).__init__(self.choices, default=default, attribute=attribute, error=error, **kwargs)