def _deserialize(cls, data):
kind = data.get(cls._type_field, None)
if kind is None:
return data
value = data.get("value")
if kind == "blob":
return base64.b64decode(value.encode("utf-8"))
elif kind == "datetime":
return datetime.fromtimestamp(value, tz.tzutc())
elif kind == "model":
return cls._entity_from_dict(value)
else:
raise ValueError(f"Invalid kind {kind!r}.")
评论列表
文章目录