gpt4 book ai didi

python - 为什么我的应用引擎查询找不到我的实例?

转载 作者:太空宇宙 更新时间:2023-11-04 08:59:40 25 4
gpt4 key购买 nike

我一直在玩 App Engine,但我似乎误解了 NDB 数据存储查询。我将抛出的错误放在查询旁边。

在交互式控制台中玩耍:

from google.appengine.ext import ndb  

class Client(ndb.Model):
email = ndb.StringProperty()
name = ndb.StringProperty(indexed=True)

#instantiated client instance with the parameters below. ID is 6578378068983808
#client = Client(email = "bryan@gmail.com", name = "Bryan Wheelock" ).put()

client = Client.query( Client.name == 'Bryan Wheelock')
#client = Client.query( Client.ID == 6578378068983808 ) #AttributeError: type object 'Client' has no attribute 'ID'
#client = Client.all() #AttributeError: type object 'Client' has no attribute 'all'
#client = Client.get_by_id(6578378068983808) #THIS WORKS returns u'Bryan Wheelock'

pprint.pprint(client.name)

我所做的示例查询直接来自 App Engine 文档,我做错了什么?

最佳答案

查询

Client.query() 返回一个查询对象。

您需要像这样从中获取结果:

query = Client.query( Client.name == 'Bryan Wheelock')
client = query.get() # first result

pprint.pprint(client.name)

或者只是:

client = Client.query( Client.name == 'Bryan Wheelock').get()
pprint.pprint(client.name)

编号

id 不是模型的属性,而是它的键的属性。要通过其 ID 直接获取客户端,您可以执行一个

client = Client.get_by_id(id)

供您引用,您可以在此处查找模型方法:https://cloud.google.com/appengine/docs/python/ndb/modelclass

关于python - 为什么我的应用引擎查询找不到我的实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26745949/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com