Key.from_path попадает в хранилище данных? - PullRequest
2 голосов
/ 25 июня 2009

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

Ответы [ 2 ]

3 голосов
/ 25 июня 2009

После копания и вопросов по другой группе, получается, что:

ключи полностью определяются приложением ID и путь, поэтому нет необходимости получить доступ к хранилищу данных для этого. - Ник Джонсон

Или вы также можете использовать список db.Key

0 голосов
/ 09 августа 2012

Параметры, которые вы передаете Key.from_path(), содержат всю информацию, необходимую для создания уникального ключа, поэтому нет необходимости попадать в хранилище данных.

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

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

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

...