我最近从 Python2 / ndb 迁移到 Cloud NDB 和 python3 for app engine。我需要在同一个数据存储上同时运行两个版本。
我发现 entity.get() 对于由 Cloud NDB 创建的实体,它在 python2 服务上抛出大约 20% 的请求的断言错误。有没有办法更新 .get() 或以其他方式确保它可以正确地从数据存储中提取它?
抛出错误
"/base/alloc/tmpfs/dynamic_runtimes/python27g/19fab4ec47735ec6/python27/python27_lib/versions/1/google/appengine/ext/ndb/model.py", line 1234, in _opt_call_to_base_type
value = _BaseValue(self._call_to_base_type(value))
File "/base/alloc/tmpfs/dynamic_runtimes/python27g/19fab4ec47735ec6/python27/python27_lib/versions/1/google/appengine/ext/ndb/model.py", line 751, in __init__
assert not isinstance(b_val, list), repr(b_val)
AssertionError: []
我以为可能是缓存冲突,结果大约有25%的查询有问题