我有一个模型:
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 查询,但也许您可以看到任何不会运行太多查询的解决方案?
一种解决方案是一个接一个地获取结果,但我真的很想用更少的查询来做到这一点。