Я мог бы использовать небольшую помощь в AppEngine Land ...
Используя API [Python], я создаю отношения, подобные этому примеру из документов:
class Author(db.Model):
name = db.StringProperty()
class Story(db.Model):
author = db.ReferenceProperty(Author)
story = db.get(story_key)
author_name = story.author.name
Насколько я понимаю, в этом примере будет два запроса к хранилищу данных. Один для извлечения Story, а другой - для того, чтобы почтить Автор, чтобы получить доступ к имени. Но я хочу иметь возможность получить идентификатор, поэтому сделайте что-то вроде:
story = db.get(story_key)
author_id = story.author.key().id()
Я хочу просто получить идентификатор из ссылки. Я не хочу задерживать (поэтому запрашивать хранилище данных) значение ReferenceProperty.
Из прочтения документации говорит, что
значение ReferenceProperty является ключом
Что заставляет меня думать, что я мог бы просто вызвать .id () для значения ссылки. Но это также говорит:
Модель ReferenceProperty предоставляет функции для значений свойств Key, такие как автоматическое разыменование.
Я не могу найти ничего, что объясняет , когда эта ссылка имеет место?
Безопасно ли вызывать .id () для значения ReferenceProperty?
Можно ли предположить, что вызов .id () не вызовет поиск в хранилище данных?