def make(key, val=None): key = to_camel_case(key) if self.__support_snake_case__ else key try: return (self.__configs__[key].from_dict(val, unknown=EXCLUDE) if val else self.__configs__[key]()) except KeyError: raise ValidationError( "`{}` is not a valid value for schema `{}`".format( key, self.__multi_schema_name__))
def _serialize(self, value, attr, obj, **kwargs): if not value: return value value = value.to_dict() keys = set(value.keys()) for k in keys: if value[k] is None: del value[k] return {to_camel_case(k): value[k] for k in value}
def on_bind_field(self, field_name, field_obj): field_obj.data_key = to_camel_case(field_obj.data_key or field_name)