快速提问(可能是一个基本问题!)
我正在使用谷歌应用引擎与烧瓶。我有以下数据库:
class Bear(db.Model):
bear_id = db.IntegerProperty()
pair = db.IntegerProperty()
status = db.IntegerProperty()
time = db.IntegerProperty()
我通过URL参数添加到这里:
@app.route('/add')
def add():
rightNow = int(time.time())
cur_id = int( request.args.get('id') )
cur_status = int( request.args.get('status') )
newEntry = Bear(
time = rightNow,
bear_id = cur_id,
status = cur_status,
# key_name = str(cur_id)
)
newEntry.put()
return 'added'
并(尝试)在此处通过URL参数进行更新:
@app.route('/update')
def update():
rightNow = int(time.time())
cur_id = int( request.args.get('id') )
cur_status = int( request.args.get('status') )
address_k = db.Key.from_path('bear_id', cur_id)
address = db.get(address_k)
address.status = cur_status;
address.put()
return 'cur_id'
我试图使用bear\u id字符串来提取数据存储实体,但是我注意到我得到了存储在address\u k中的错误密钥。它与我在数据存储中看到的密钥不匹配。我不知道为什么会这样。有什么想法吗
这是因为您使用
id
作为int
插入,而使用id
作为str
检索。数据存储以不同的方式对待它们,因此您应该保持一致最后我做了以下几件事:
在add中,我将key\u name添加为ID的字符串
然后当更新时,我可以这样拉:
而且有效
相关问题 更多 >
编程相关推荐