如何使用List作为过滤器在GQL中进行选择。
如果我有班级
public class Obj{
@Persistent
private Long name;
}
如何让所有Obj的名称不在列表中?
答案 0 :(得分:1)
您可以通过将所有过滤器链接在一起来获得结果。
SELECT * FROM User where email != 'xxx@gmail.com' and email != 'yyy@gmail.com' and email != 'zzz@gmail.com'
Python代码
q = User.all()
for i in ilist:
q = q.filter("email = ", i)
但您可能需要知道此类查询存在一些限制。
注意:IN和!=运算符在后台使用多个查询。例如,IN运算符为列表中的每个项执行单独的基础数据存储区查询。返回的实体是所有基础数据存储区查询的交叉产品的结果,并且是重复数据删除的。任何单个GQL查询最多允许30个数据存储区查询。