是否可以同时选择键以及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
提前致谢!
答案 0 :(得分: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):