Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google app engine 了解GAE中的ListProperty后端行为_Google App Engine_Google Cloud Datastore - Fatal编程技术网

Google app engine 了解GAE中的ListProperty后端行为

Google app engine 了解GAE中的ListProperty后端行为,google-app-engine,google-cloud-datastore,Google App Engine,Google Cloud Datastore,我试图理解您应该如何访问GAE db.ListProperty(db.Key)中的项 例子: 杂志db.Model实体具有包含10个文章实体的db.ListProperty(db.Key)。我想获取杂志对象并显示文章名称和日期。我是否对实际的article对象进行了10次查询?我是否执行批处理查询?如果有50篇文章呢?(批处理查询是否依赖于?您需要阅读,特别是关于一对多的部分。因此,您描述的内容如下: class Magazine(db.Model): ArticleList =

我试图理解您应该如何访问GAE db.ListProperty(db.Key)中的项

例子:
杂志
db.Model实体具有包含10个
文章
实体的db.ListProperty(db.Key)。我想获取杂志对象并显示文章名称和日期。我是否对实际的article对象进行了10次查询?我是否执行批处理查询?如果有50篇文章呢?(批处理查询是否依赖于?

您需要阅读,特别是关于一对多的部分。

因此,您描述的内容如下:

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

根据您计划如何处理数据,您最好将杂志引用属性添加到文章实体中。

我已经阅读了文档,这篇文章是关于引用属性的,我想问一下ListProperty。而且,你没有抓住我问题的重点。我不是在尝试建立一对多关系的模型-这是一个简单的案例,只涉及两个查询。@Yarin这里的是一对多关系,所以最好按照推荐的方式进行。是的,但我的问题是了解ListProperty是如何工作的,而不是其他解决示例的方法。正确,除了它不是一个查询(在你的第二个代码片段中的第3行)-它只是一个数据存储获取,速度快得多。凯文-好的,谢谢,所以你要走批量获取路线-但是我问题的第二部分呢-我们可以通过这种方式获取多少记录没有限制吗?@Yarin因为这不是一个查询,但正如Nick所说的数据存储获取,在一次调用中获得的数量没有限制。@KevinP您需要在代码中添加一个检查,以确保None@Yarin关于Shay所说的“获取结果不受限制”也是如此。更实际地说,像这样的键列表结构可以很容易地对数据进行分页,而不会产生查询偏移量的开销。