0

是否可以在 ndb 查询中同时选择键和属性?

现在我有:

one = ndb.gql('SELECT __key__ FROM Subject ORDER BY order ASC')
two = ndb.gql('SELECT name,order FROM Subject ORDER BY order ASC')

是否有可能有类似的东西:

oneandtwo = ndb.gql('SELECT __key__,name,order FROM Subject ORDER BY order ASC')
#This didn't work

如果不是,是否可以结合一个和两个查询,因为它们的大小相同?

oneandtwo = one + two
#This didn't work either

提前致谢!

4

1 回答 1

2

您是否阅读过有关投影查询的文档并尝试过? https://cloud.google.com/appengine/docs/standard/python/ndb/projectionqueries

您需要的一切都在文档中。

例如,如果您对“名称”执行投影查询,您将获得包含键和单个属性“名称”的对象,如果您使用名称和顺序,您将获得这两个属性。此外,对象具有密钥。但是,如果尚未构建匹配索引,则投影查询将不起作用。

 > x = ndb.gql("SELECT name from Product").fetch(5)
 > x
[<Product key_name="Key('Product', 'Pre-Filter-Sponge-15mm-BSP', 'Product', '002811-0001')"/>, <Product key_name="Key('Product', 'Pre-Filter-Sponge-15mm-BSP', 'Product', '002811-0002')"/>, <Product key_name="Key('Product', 'Pre-Filter-Sponge-25mm-BSP', 'Product', '002812-0002')"/>, <Product key_name="Key('Product', 'Pre-Filter-Sponge-25mm-BSP', 'Product', '002812-0003')"/>, <Product key_name="Key('Product', 'Seagull-Fibreglass-Spill', 'Product', '004321-0001')"/>]
 >  x[0]
<Product key_name="Key('Product', 'Pre-Filter-Sponge-15mm-BSP', 'Product', '002811-0001')"/>
 >  x[0].name
u'002811-0001'
 >  x[0].price
Traceback (most recent call last):
于 2014-05-21T05:48:56.053 回答