私はモデルを持っています:
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 に関するデータは時間とともに変化するため、1 つの id には多くのデータがあります。
IDごとに、そのIDの最も若いエントリを1つだけ取得するようなクエリを実行したいと思います。何かのようなもの:
MyModel.all().filter('id_from_other_source IN', my_id_list).order('-ts').fetch(1000)
ただし、id_from_other_source には区別があります。DISTINCT を使用して GQL クエリを実行できないことは理解していますが、あまり多くのクエリを実行しないソリューションを見つけることができるでしょうか?
1 つの解決策は、それらを 1 つずつ取得して結果を取得することですが、クエリの数を減らして実行したいと考えています。