【发布时间】:2011-01-14 04:35:42
【问题描述】:
使用 Google App Engine SDK 和 Python,我遇到了一个问题:我无法访问给定实体属性的 ID 属性。我可以访问的唯一属性是在我的类 Model 中定义的属性,以及 key 属性(请参阅下面的答案):
class Question(db.Model):
text = db.StringProperty()
answers = db.StringListProperty()
user = db.UserProperty()
datetime = db.DateTimeProperty()
我可以很好地访问文本、答案、用户、日期时间和关键属性。但是,我无法访问 ID 属性。 例如,在获取所有实体之后(使用 Question.all()):
# OK Within a template, this will return a string :
{{ question.text }}
# OK, this will return the entity key :
{{ question.key }}
# KO this will return nothing :
{{ question.id }}
有什么想法吗?谢谢!
【问题讨论】:
-
key 和 id 不是数据存储实体的属性。 key() 是实例方法,id() 是 Key 的实例方法。 {{entity.key.id}} 仅有效,因为 .在适当的时候将被解释为方法调用。
标签: python google-app-engine entity google-cloud-datastore