Google App Engine запрос большого предложения IN - PullRequest
0 голосов
/ 07 августа 2011

У меня есть учетная запись с идентификатором facebook.

Иногда клиент может отправлять все идентификаторы facebook (клиенты Facebook) на сервер.

Мы хотим выбрать все учетные записи в идентификаторах Facebook, предоставленных клиентом.

Циклы и вызовы на каждом идентификаторе Facebook кажутся довольно медленными, учитывая, что у людей может быть более 1000 друзей. Более того, GAE ограничен 30 запросами с предложением IN.

У кого-нибудь была подобная ситуация? Как ты справился с этим?

Спасибо!

1 Ответ

1 голос
/ 07 августа 2011

Вы можете настроить модель, которая использует идентификатор Facebook в качестве ключа, который позволяет использовать модель.get_by_key_name (key_names = fb_ids) для выборки всех моделей с ключами в fb_ids одновременно.

например,

class FBModel(db.Model):
   account = db.ReferenceProperty(reference_class=Account)

При создании модели:

model = FBModel(key_name=fb_id)
...