GAE DATASTORE选择__KEY__

时间:2013-02-16 21:45:09

标签: google-app-engine google-cloud-datastore

当我执行以下查询以获取 KEY 时,我得到null。以下是查询:

g_keys = db.GqlQuery("SELECT __KEY__ FROM greeting")

以下是Greeting DB Object中的实体:

Key Write Ops      ID   Key Name author comment     date            source
aglkZXZ-...  11    11  None      None   COMMENT1    2013-02-16      twitter
glkZXZ-...   11    12  None      None   COMMENT2    2013-02-17      facebook

这是模型定义:

class Greeting(db.Model):

  author = db.UserProperty()
  comment = db.StringProperty(multiline=True)
  source = db.StringProperty(multiline=False)
  date = db.DateTimeProperty(auto_now_add=True)

请让我知道我做错了什么。

提前致谢

2 个答案:

答案 0 :(得分:1)

对于仅关键查询,您必须使用key_only参数。

g_keys = Greeting.all(keys_only=True)

顺便说一句:在您的查询中,您使用问候语,但您的模型名称是问候语

答案 1 :(得分:0)

我认为你应该使用

__key__ (lowercase)

此处的示例https://developers.google.com/appengine/docs/python/datastore/gqlreference?hl=en

SELECT __key__ FROM Person WHERE age = NULL