Вопрос

У меня есть список имен ключей, которые я хочу массово извлекать (имена ключей хранятся в 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() содержит всю информацию, необходимую для создания уникального ключа, поэтому нет необходимости, чтобы он попадал в хранилище данных.

Каждый объект в хранилище данных имеет ключ, который однозначно идентифицирует его.Ключ состоит из следующих компонентов:

  1. Тип объекта, который классифицирует его для целей запросов к хранилищу данных
  2. Идентификатор для отдельного объекта, который может быть либо
    • строка имени ключа
    • целочисленный числовой идентификатор
  3. Необязательный путь к предку, определяющий местонахождение объекта в иерархии хранилища данных

Источник: https://developers.google.com/appengine/docs/python/datastore/entities

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top