【问题标题】:NDB: Sort query resultsNDB:对查询结果进行排序
【发布时间】:2015-09-14 14:40:42
【问题描述】:

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

我希望我能做什么:

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

【问题讨论】:

  • 你必须在 python 代码中使用sorted

标签: python google-app-engine google-cloud-datastore app-engine-ndb


【解决方案1】:

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

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

【讨论】:

  • 这是如何使用它ndb.ComputedProperty(lambda self: len(self.repeatedProp))
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-14
    • 1970-01-01
    • 2017-12-05
    • 2011-09-28
    • 1970-01-01
    • 2016-07-28
    • 1970-01-01
    • 2021-08-19
    相关资源
    最近更新 更多