mrm*_*123 3 google-app-engine app-engine-ndb
我get_by_id在谷歌应用引擎python ndb中使用时遇到了麻烦.
Python代码
尝试1
resource = Content.get_by_id(6093630880088064)
Run Code Online (Sandbox Code Playgroud)
资源是 None
尝试2
resource = Content.get_by_id(6093630880088064, parent = 5249205949956096)
Run Code Online (Sandbox Code Playgroud)
BadValueError: Expected Key instance, got 5249205949956096L
尝试3
key_parent = ndb.Key('Subject', '5249205949956096')
resource = Content.get_by_id(6093630880088064, parent = key_parent)
Run Code Online (Sandbox Code Playgroud)
资源是 None
数据存储
Entity Kind Content
Entity Key ahBkZXZ-YnJhaW5ib290ZWNocigLEgdTdWJqZWN0GICAgICAxKkJDAsSB0NvbnRlbnQYgICAgIDE6QoM
ID 6093630880088064
Parent ahBkZXZ-YnJhaW5ib290ZWNochQLEgdTdWJqZWN0GICAgICAxKkJDA
Subject:id=5249205949956096
Run Code Online (Sandbox Code Playgroud)
任何建议将不胜感激.我的目标是资源将是一个对象,我可以做一些事情resource.name来检索名称属性.
将密钥作为字符串时会出现此问题,最简单的解决方案是:
Model.get_by_id(int(id))
Run Code Online (Sandbox Code Playgroud)
当您从URL等读取id时,最有可能出现此问题:
class MyHandler(webapp2.RequestHandler):
def get(self, id):
instance = Model.get_by_id(int(id))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2460 次 |
| 最近记录: |