Python 数据存储中缺少属性get';s对象
这是我的GAE数据存储:Python 数据存储中缺少属性get';s对象,python,google-app-engine,google-cloud-datastore,Python,Google App Engine,Google Cloud Datastore,这是我的GAE数据存储: class Search(ndb.Model): city = ndb.StringProperty() counter = ndb.IntegerProperty(indexed = True) date = ndb.DateTimeProperty(auto_now_add=True) 当我运行这部分代码时: keys = Search.query(Search.city == city).fetch() if (len(keys)==0
class Search(ndb.Model):
city = ndb.StringProperty()
counter = ndb.IntegerProperty(indexed = True)
date = ndb.DateTimeProperty(auto_now_add=True)
当我运行这部分代码时:
keys = Search.query(Search.city == city).fetch()
if (len(keys)==0):
luogo = Search(city = city, counter = 1)
luogo.put()
else:
for key in keys:
luogo_1 = key.get()
luogo_1.counter = luogo_1.counter+1
luogo_1.put()
我的终端显示在对象搜索属性get中缺少该属性
您知道原因吗?可能是因为
键
对象没有get()
方法:
luogo_1 = key.get()
使用python函数,它对我帮助很大,可能是因为
key
对象没有get()
方法:
luogo_1 = key.get()
使用python函数,它对我运行有很大帮助
keys=Search.query(Search.city==city.fetch()
获取模型实例的列表
所以
失败,因为实例没有get
方法
您需要执行以下操作:
keys=Search.query(Search.city==city.fetch(keys\u only=True)
获取键列表,或将键
视为实例列表而不是键,并省略键.get()
调用。正在运行
keys=Search.query(Search.city==city.fetch()
获取模型实例的列表
所以
失败,因为实例没有get
方法
您需要执行以下操作:
keys=Search.query(Search.city==city.fetch(keys\u only=True)
获取键列表,或将
keys
视为实例列表而不是键,并省略key.get()
调用。但是,如果要获取实体,这有点多余。Search.query(Search.city==city.fetch()
的结果是一个实体列表,因此您不需要使用键来获取它们。但是,如果目的是获取实体,则这有点多余。Search.query(Search.city==city.fetch()
的结果是一个实体列表,因此不需要使用键来获取它们。