0

クエリからパラメータを指定して最大モデルを取得するにはどうすればよいですか?

私が欲しいのは、xs パラメータを取得し、ndb で xs max を比較することです。

max_ndb(xs) が大きい場合は max_model を返し、そうでない場合は 204 を返します

   @MyModel.query_method(requests_fields('xs',),
                               name='infofest',
                               path='mymodel',
                               http_method='GET'
                               )
    def get_model(self,query):
        return max(query, key=MyModel.xs)#??

もちろん、クエリ自体はイテラブルではなく、代わりに query_method を使用することはできません。

@MyModel.method(request_fields=('xs',),
                  path='mymodel/{xs}', http_method='GET', name='mymodel.get')   def MyModelGet(self, my_model):
     if not my_model.maxXS_from_datastore:
        return model_with_maxXS
     return 204

または、endpoints-proto-datastore で GQL を使用できますか? ありがとう

4

1 に答える 1

0

「データストアから最大 xs を取得する」という意味であれば、直接実行することはできませんが、クエリで並べ替えを使用して最初の結果を取得することで簡単に実現できます。

のようなもの (これは多かれ少なかれ擬似コードです。私は python の ndb を使用したことがありません。通常は Java の objectify を使用しますが、ロジックは同じです):

myModel.query().sort("xs 降順");

この時点で、そのクエリの最初の結果は単に最高の「xs」オブジェクトになります。その最初のオブジェクトで比較を行うことができます。

于 2014-09-16T17:10:44.700 に答える