如何从查询中获取max model given参数?
我想要的是获取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
或者我们可以在端点 - 原型数据存储中使用GQL吗?感谢
答案 0 :(得分:0)
如果您的意思是“从数据存储中获取最大xs”,则无法直接执行,但可以通过对查询使用排序并获取第一个结果来轻松实现。
有点像(这是更多/更少的伪代码,我从未使用过python的ndb,我通常使用java的客观化,但逻辑是相同的):
myModel.query()。sort(“xs descending”);
此时,该查询的第一个结果将只是您的最高“xs”对象。您可以对第一个对象进行比较。