У меня есть несколько сотен ключей, все той же модели, которую я предварительно вычислил:
candidate_keys = [db.Key(...), db.Key(...), db.Key(...), ...]
Некоторые из этих ключей относятся к реальным объектам в хранилище данных, а некоторые - нет. Я хочу определить, какие ключи соответствуют сущностям.
Нет необходимости знать данные внутри сущностей, просто существуют ли они.
Одним из решений было бы использование db.get ():
keys_with_entities = set()
for entity in db.get(candidate_keys):
if entity:
keys_with_entities.add(entity.key())
Однако эта процедура извлекает все данные сущностей из хранилища, что является ненужным и дорогостоящим.
Вторая идея состоит в том, чтобы использовать запрос с IN
фильтром на key_name
, вручную выбирая порциями по 30, чтобы соответствовать требованиям псевдофильтра IN
. Однако запросы только к ключу не разрешены с фильтром IN
.
Есть ли лучший способ?