bob*_*obo 1 python google-app-engine
我有了
""" A site message """ class Message( db.Model ) : # from/to/ a few other fields subject = db.StringProperty() body = db.Text() sent = db.DateTimeProperty( auto_now_add=True )
现在我试图通过它的KEY选择一条消息.我之前保存了密钥,并以HTML格式将其植入.结果是一个类似的可点击链接
<a href="/readmessage?key=aght52oobW1hZHIOCxIHTWVzc2FnZRiyAQw">click to open</a>
那么我运行这个GQL查询:
gql = """select * from Message where __key__='aght52oobW1hZHIOCxIHTWVzc2FnZRiyAQw'"""
但它不起作用,因为
BadFilterError:BadFilterError:无效过滤器:__ key__过滤器值必须是Key; 收到了aght52oobW1hZHIOCxIHTWVzc2FnZRiyAQw(一个str).
我在这里完全遗漏了一些东西,那就是你如何将一个对象放入一个GQL查询字符串..而且没有Gql解析器抱怨它是一个字符串?
不要使用GQL来进行基于密钥的检索 - 从字符串中创建一个关键对象:
k = db.Key('aght52oobW1hZHIOCxIHTWVzc2FnZRiyAQw')
Run Code Online (Sandbox Code Playgroud)
只是db.get(k).如果你坚持使用GQL,那么k- 一个适当构造的实例db.Key,而不是一个字符串对象! - ) - 也是你需要替换到GQL查询(by :1或whatrever).
| 归档时间: |
|
| 查看次数: |
2003 次 |
| 最近记录: |