Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/rest/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python NDB:对查询结果进行排序_Python_Google App Engine_Google Cloud Datastore_App Engine Ndb - Fatal编程技术网

Python 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属性,但我从未使用过其中一个,所以我不确定。根据您排序的实体的数量,您可以按代码对其进行排

在应用程序引擎NDB中,我正在查询具有重复属性的实体。我想按照表示该属性的数组的长度对结果进行排序

我希望我能做的是:

Entity.query(...).order(len(Entity.repeatedProp))

您需要在实体中添加一个
ndb.IntegerProperty()
,用于存储重复属性的长度。每次更改重复属性时,都需要更新存储的长度。然后根据存储的长度进行排序


您可能会使用computed属性,但我从未使用过其中一个,所以我不确定。

根据您排序的实体的数量,您可以按代码对其进行排序。

在使用
排序后,您必须在python代码中执行此操作。
这是如何使用它的
ndb.ComputedProperty(lambda self:len(self.repeatedProp))