The last line of the following code throws the error “AttributeError: ‘Notebooks’ object has no attribute ‘key_name'”. I need to produce the key_name result for my app, but cannot figure out how to do so.
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
My datastore entity looks like this:
Edit Entity
Entity Kind Notebooks
Entity Key aghkZXZ-ZGVtb3IUCxIJTm90ZWJvb2tzIgVSb2dlcgw
Key Name Roger
deleteRequested (bool)
moreinfo (string)
user 185804764220139124118
You need to use page.key().name(). (Assuming the key name is on the entity key)
See https://developers.google.com/appengine/docs/python/datastore/keyclass
cheers,
Rob