在查询user_ID后打印appengine数据存储区的key_name

时间:2012-08-04 20:51:06

标签: google-app-engine primary-key

以下代码的最后一行引发错误“AttributeError:'Notebooks'对象没有属性'key_name'”。我需要为我的应用程序生成key_name结果,但无法弄清楚如何执行此操作。

from google.appengine.api import users
from models import Notebooks
user = users.get_current_user()
user_ID = user.user_id()

print user_ID

notebook = db.Query(Notebooks)
notebook.filter('user =', user_ID)
notebook.filter('deleteRequested =', False)
pages = notebook.fetch(limit=100)

for page in pages:
   print page.user
   print page.key_name

我的数据存储区实体如下所示:

Edit Entity
Entity Kind  Notebooks
Entity Key   aghkZXZ-ZGVtb3IUCxIJTm90ZWJvb2tzIgVSb2dlcgw
Key Name     Roger
deleteRequested (bool)  

moreinfo (string)   

user 185804764220139124118

1 个答案:

答案 0 :(得分:1)

您需要使用page.key()。name()。 (假设密钥名称在实体密钥上)

请参阅https://developers.google.com/appengine/docs/python/datastore/keyclass

欢呼声, 罗布