Gql查询和ID
我尝试构建 GqlQuery 并按指定 ID 获取实体,但收到错误“IndexError:查询返回的结果少于 1 个”。 DataStore 不为空。在数据存储查看器中,我找到了必要的 ID。 我的代码位于下面:
from google.appengine.ext import db from models.models import News
news = News.gql("WHERE id = 4265")
print news[0].title
我知道 get_by_id 方法,由于某些原因它不满意我。但英语对我来说不是母语,因此我不明白如何正确使用 Key.from_path。
I try to build a GqlQuery and get an entity by the specified ID, but I get the error "IndexError: The query returned fewer than 1 results".
A DataStore is not empty. At the Datastore Viewer I've found the necessary ID.
My code is placed below:
from google.appengine.ext import db
from models.models import News
news = News.gql("WHERE id = 4265")
print news[0].title
I know about the get_by_id method, by some reasons it is not satisfied me. But English is not native for me, because of this I didn't understand how to properly use Key.from_path.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
尝试:
或者如果您必须使用 GQL,
Try:
Or if you must use GQL,
当您只需使用 时,为什么要编写 Gql 查询Model 类的 get_by_id() 方法。
注意: id 可以通过 python 中的 object.Key().id() 从对象中获取,在模板中您只需调用 object.key.id
或者您可以使用 db.Key.from_path 获取密钥并将其传递给 get() 方法。
new = News.get(db.Key.from_path('新闻', 4265))
Why do you want to write a Gql query, when you can just use get_by_id() method of Model Class.
note: id can be get from a object by object.Key().id() inside python and in templates you simply call object.key.id
or you can use db.Key.from_path to get the key and pass it to get() method.
new = News.get(db.Key.from_path('News', 4265))