Попадает ли Key.from_path в хранилище данных?
-
22-07-2019 - |
Вопрос
У меня есть список имен ключей, которые я хочу массово извлекать (имена ключей хранятся в StringListProperty, прикрепленном к объекту).Мой общий план состоял в том, чтобы сделать:
usernames = userrefInstance.users # A collection of strings on another
model.
keys = [Key.from_path('User', key_name) for username in usernames]
users = db.get(keys)
Мои вопросы попадает ли Key.from_path в хранилище данных?Я пытаюсь быть как быстро, как это возможно и если это ключ.from_path просмотров хранилище данных, мне нужно работать еще один способ хранения коллекции ключей - я не особо хочу магазин ключевой объект в списке собственность, как я и предоставляем пользователей дружелюбные вопросы по StringListPropererties.
Решение
После копания и вопросов о другой группе получается, что:
ключи полностью определяются приложением ID и путь, поэтому нет необходимости получить доступ к хранилищу данных для этого. - Ник Джонсон
Или вы также можете использовать список db.Key
Другие советы
Параметры, которые вы передаете Key.from_path()
содержит всю информацию, необходимую для создания уникального ключа, поэтому нет необходимости, чтобы он попадал в хранилище данных.
Каждый объект в хранилище данных имеет ключ, который однозначно идентифицирует его.Ключ состоит из следующих компонентов:
- Тип объекта, который классифицирует его для целей запросов к хранилищу данных
- Идентификатор для отдельного объекта, который может быть либо
- строка имени ключа
- целочисленный числовой идентификатор
- Необязательный путь к предку, определяющий местонахождение объекта в иерархии хранилища данных
Источник: https://developers.google.com/appengine/docs/python/datastore/entities