使用 Google App Engine SDK 和 Python,我遇到一个问题:我无法访问给定实体属性的 ID 属性。我可以访问的唯一属性是我的类模型中定义的属性,加上关键属性(请参阅下面的答案):
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 }}
有任何想法吗 ?谢谢 !
根据文档 http://code.google.com/appengine/docs/python/datastore/modelclass.html,没有id()
为模型子类定义的实例方法。
Try {{ question.key }}
反而。
另请注意,直到将实体保存到数据存储区后才会创建键。
编辑:基于OP编辑的更多信息:
因为我们真的在追求数字 ID,我们可以在模板中执行类似的操作:
{{ question.key.id }}
另请注意:您永远不应该期望数字 ID 的值会随着实体创建的顺序而增加。在实践中,情况通常但并非总是如此。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)