Python NDB:对查询结果进行排序
在应用程序引擎NDB中,我正在查询具有重复属性的实体。我想按照表示该属性的数组的长度对结果进行排序 我希望我能做的是:Python NDB:对查询结果进行排序,python,google-app-engine,google-cloud-datastore,app-engine-ndb,Python,Google App Engine,Google Cloud Datastore,App Engine Ndb,在应用程序引擎NDB中,我正在查询具有重复属性的实体。我想按照表示该属性的数组的长度对结果进行排序 我希望我能做的是: Entity.query(...).order(len(Entity.repeatedProp)) 您需要在实体中添加一个ndb.IntegerProperty(),用于存储重复属性的长度。每次更改重复属性时,都需要更新存储的长度。然后根据存储的长度进行排序 您可能会使用computed属性,但我从未使用过其中一个,所以我不确定。根据您排序的实体的数量,您可以按代码对其进行排
Entity.query(...).order(len(Entity.repeatedProp))
您需要在实体中添加一个
ndb.IntegerProperty()
,用于存储重复属性的长度。每次更改重复属性时,都需要更新存储的长度。然后根据存储的长度进行排序
您可能会使用computed属性,但我从未使用过其中一个,所以我不确定。根据您排序的实体的数量,您可以按代码对其进行排序。在使用
排序后,您必须在python代码中执行此操作。这是如何使用它的ndb.ComputedProperty(lambda self:len(self.repeatedProp))