0

我正在阅读 Google App Engine 文档,发现条线很难理解

App Engine 数据存储区可以从查询中返回整个实体或仅返回实体键。

这是什么意思?有filter(property_operator, value)fetch(limit, offset=0)

而且我相信values()App Engine 上的 django-nonrel 支持。那么这是什么意思呢?

4

2 回答 2

1

您可以执行标准查询,如下所示:

results = MyModel.all().filter('foo =', 'bar').fetch(20)

这将返回一个实体列表(db.Model 实例)。或者,您可以执行仅键查询,如下所示:

results = MyModel.all(keys_only=True).filter('foo =', 'bar').fetch(20)

这将只返回匹配实体(db.Key 实例)的键,并且比第一个查询执行得更快。

于 2011-03-31T03:33:02.913 回答
1

这意味着如果您只需要对象的键(可以找到它的唯一标识符)而不是其所有属性,则可以避免检索所有这些属性的额外开销。您可以使用 keys_only 参数来执行此操作。

例如,

SomeModel.all(keys_only=True).fetch(10)

将只返回 SomeModel 实体的关键对象,而不是带有属性的完整对象。

这可能会让您了解更多关于键和完整对象之间的区别的信息: http ://code.google.com/appengine/docs/python/datastore/entities.html

于 2011-03-31T03:36:11.353 回答