如何使用 Google App Engine 中的 python 从我们要在 ndb 数据存储区中搜索的元素列表中查询 AND & OR 操作
How to make query of AND & OR operation from list of elements we we to search in ndb datastore using python in Google App Engine
我有一个不同模型实体的键列表。
示例:-
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)))
我有一个不同模型实体的键列表。 示例:-
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)))