Использование списка в фильтре GQL - PullRequest
2 голосов
/ 05 июля 2011

Как сделать выборку в GQL, используя список в качестве фильтра.

Если у меня есть класс

public class Obj{

    @Persistent
    private Long name;

}

Как мне узнать, что имя отсутствует в списке ?

1 Ответ

1 голос
/ 05 июля 2011

Вы можете получить результаты по цепочке всех фильтров вместе.

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 запросов к хранилищу данных.

...