首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AttributeError:'GqlQuery‘对象没有属性'Key’

AttributeError:'GqlQuery‘对象没有属性'Key’
EN

Stack Overflow用户
提问于 2013-03-22 21:09:16
回答 1查看 1.6K关注 0票数 2

如何检索和显示从GQL查询返回的几个结果的键?

main.py

代码语言:javascript
复制
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:

当我用

代码语言:javascript
复制
keys = q.key()

我知道这个错误:

文件"C:\programming_google_app_engine_repo\datastore\main.py",第17行,在get key = q.key() AttributeError中:'GqlQuery‘对象没有属性'key’

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-22 21:37:05

您的代码有不止一个问题。请退后一步,想一想你想做什么,然后再浏览一遍文档。

问题1

GqlQuery的结果没有密钥。您需要使用.get().fetch(1)来访问Book对象。

代码语言:javascript
复制
q = db.GqlQuery("SELECT * FROM Book WHERE author = :1 ", author)
my_book = q.get()

问题2

要获得method的值,您需要记住包括父/括号。

代码语言:javascript
复制
my_book_key = my_book.key() # don't forget the parens/brackets

template_values = { 
    'author': author,
    'key': my_book_key,         
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15579873

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档