Google app engine или запрос (python) - PullRequest
       3

Google app engine или запрос (python)

4 голосов
/ 15 сентября 2010

Может ли кто-нибудь поделиться вашим подходом к выполнению запроса 'или' в app-engine?

Допустим, у меня есть

class A_db_model(db.Model):
 valueA = db.ListProperty(basestring)

в значении А у меня

aaa
aaa, bbb
bbb
ccc

Я хотел бы вернуть результат, если значение A соответствует 'aaa' или 'bbb', и вернуть не дублированный результат.

Ответы [ 2 ]

6 голосов
/ 15 сентября 2010

Попробуйте это?

A_db_model.all().filter('valueA IN', ['aaa', 'bbb'])

или эквивалентный GQL:

GqlQuery('SELECT * FROM A_db_model WHERE valueA IN :1', ['aaa', 'bbb'])
2 голосов
/ 12 октября 2011

Две основные проблемы, связанные с подходом @ Amber, заключаются в том, что он медленный, так как он в основном выполняет запрос для каждого значения за кулисами, и его максимальное значение составляет 30 значений для запроса. Я только что написал в блоге об этом вопросе. Он объясняет лучший масштабируемый способ выполнения запроса OR с помощью механизма приложений. Вы можете использовать отдельную сущность, чтобы это произошло. Подробности смотрите в сообщении.

http://tornblue.com/post/11310830291/app-engine-how-to-do-an-efficient-or-query

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...