以下查询仅返回键,即使我想返回属性Name,它是ndb.Expando实体的ndb.StringProperty。
cls.query().order(cls.Name).fetch(100, projection=[cls.Name])
#..什么?
如果我执行cls.query().order(cls.Name).fetch(100)
工作
问题,我可以在ndb.Expando上使用投影吗?我甚至试过了
cls.query().order(cls.Name).fetch(100, projection=[ndb.GenericProperty('Name')])
并且只获取键和结果中其他属性的空值。
我在1.7.6。感谢帮助。
答案 0 :(得分:1)
是的,你可以。它们都默认编入索引。只需将它们定义为字符串。
cls.query().fetch(100, projection=['name'])
# next one also will work
cls.query().fetch(100, projection=[ndb.GenericProperty('name')])
只有在没有通用属性的订单的情况下才能使用。