我有不同模型实体的键列表。 示例:-
list_1 = ['<entity key of model 1>', '<entity key of model 2>', '<entity key of model 3>']
我想查询从列表中动态形成AND操作的查询。
示例:-
query = <SOME MODEL>.query(ndb.AND(<SOME MODEL>.entity == list_1[0], <SOME MODEL>.entity == list_1[1], <SOME MODEL>.entity == list_1[2]))
任何帮助进行此类查询。
最佳答案
如果示例中的 Model.entity 不是重复属性,则此查询没有任何意义,但类似这样的操作将执行您想要的操作:
q = Model.query()
for item in list_1:
q = q.filter(Model.entity == item)
如果你想把它写在一行中,那么像这样:
q = Model.query(ndb.AND(*(Model.entity == item for item in list_1)))
关于python - 如何在 Google App Engine 中使用 python 从我们要在 ndb 数据存储中搜索的元素列表中进行 AND & OR 运算查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33980981/