我试图了解您应该如何访问 GAE db.ListProperty(db.Key) 中的项目。
示例:
Magazine
db.Model 实体有一个 db.ListProperty(db.Key),其中包含 10 个 Article
实体。我想获取杂志对象并显示文章名称和日期。我是否对实际的文章对象进行了 10 次查询?我做批量查询吗?如果有 50 篇文章呢? (批量查询不依赖 IN operator, which is limited to 30 or fewer elements 吗?)
最佳答案
所以你在描述这样的事情:
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
根据您计划如何处理数据,您最好改为将 Magazine 引用属性添加到您的 Article 实体。
关于google-app-engine - 了解 GAE 中的 ListProperty 后端行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8216601/