Python 属性错误:';GqlQuery';对象没有属性';键';
如何检索和显示GQL查询返回的多个结果的键 main.pyPython 属性错误:';GqlQuery';对象没有属性';键';,python,google-app-engine,python-2.7,jinja2,Python,Google App Engine,Python 2.7,Jinja2,如何检索和显示GQL查询返回的多个结果的键 main.py class MainPage(webapp2.RequestHandler): def get(self): author = "William Shakespeare" q = db.GqlQuery("SELECT * FROM Book " + "WHERE author = :1 ", author)
class MainPage(webapp2.RequestHandler):
def get(self):
author = "William Shakespeare"
q = db.GqlQuery("SELECT * FROM Book " +
"WHERE author = :1 ", author)
keys = q.Key
template_values = {
'author': author,
'key': key,
}
template = jinja_environment.get_template('index.html')
self.response.out.write(template.render(template_values))
更新1: 当我使用
keys = q.key()
我得到这个错误:
文件“C:\programming\u google\u app\u engine\u repo\datastore\main.py”,第行
17岁,入伍
key=q.key()AttributeError:'GqlQuery'对象没有属性'key'
您的代码存在多个问题。请退后一步,想想你想做什么,再浏览一下文档 问题1
GqlQuery
的结果没有键。您需要使用.get()
或.fetch(1)
访问书籍
对象
q = db.GqlQuery("SELECT * FROM Book WHERE author = :1 ", author)
my_book = q.get()
问题2要获取
方法的值
,您需要记住包含括号/括号
my_book_key = my_book.key() # don't forget the parens/brackets
template_values = {
'author': author,
'key': my_book_key,
}