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 に関するデータは時間とともに変化するため、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 つずつ取得して結果を取得することですが、クエリの数を減らして実行したいと考えています。

4

0 に答える 0