我正在尝试了解您应该如何访问GAE db.ListProperty(db.Key)中的项目。
Magazine
db.Model实体有一个包含10个Article
实体的db.ListProperty(db.Key)。我想获取Magazine对象并显示文章名称和日期。我是否对实际的文章对象进行了10次查询?我是否进行批量查询?如果有50篇文章怎么办? (请勿批量查询依赖于IN operator, which is limited to 30 or fewer elements?)
答案 0 :(得分:7)
所以你正在描述这样的事情:
class Magazine(db.Model):
ArticleList = db.ListProperty(db.Key)
class Article(db.Model):
ArticleName = db.StringProperty()
ArticleDate = db.DateProperty()
在这种情况下,获取所列文章的最简单方法是使用Model.get()方法,该方法查找键列表。
m = Magazine.get() #grab the first record
articles = Article.get(m.ArticleList) #get Articles using key list
for a in articles:
name = a.ArticleName
date = a.ArticleDate
#do something with this data
根据您计划使用数据的方式,您可能最好将“杂志”引用属性添加到文章实体中。
答案 1 :(得分:-2)
您需要阅读Modeling Entity Relationships,尤其是关于一对多的部分。