1

我有一个模型:

class MyModel(db.Model):
    ts = db.DateTimeProperty(auto_now_add=True)
    id_from_other_source = db.StringProperty(default='')
    #some data

现在我有一些与 id_from_other_source 字段匹配的 id 列表。id 的数据会随时间变化,所以一个 id 有很多数据。

我想运行这样一个查询,为每个 id 获取我只有一个最年轻的 id 条目。就像是:

MyModel.all().filter('id_from_other_source IN', my_id_list).order('-ts').fetch(1000)

但在 id_from_other_source 中有区别。我知道您无法使用 DISTINCT 运行 GQL 查询,但也许您可以看到任何不会运行太多查询的解决方案?

一种解决方案是一个接一个地获取结果,但我真的很想用更少的查询来做到这一点。

4

0 回答 0