Я мог бы немного помочь в земле AppEngine...
Используя 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
Как я понимаю, этот пример сделает два запроса хранилища данных. Один, чтобы получить Историю, а затем один, чтобы уважать автора inorder для доступа к имени. Но я хочу получить идентификатор, так что сделайте что-то вроде:
story = db.get(story_key)
author_id = story.author.key().id()
Я хочу просто получить идентификатор из ссылки. Я не хочу, чтобы меня уважали (поэтому запрашивайте хранилище данных) значение ReferenceProperty.
Из чтения документации говорится, что
значение ReferenceProperty - это ключ
Это заставляет меня думать, что я могу просто вызвать .id() для ссылочного значения. Но он также говорит:
Модель ReferenceProperty предоставляет функции для значений свойств ключа, таких как автоматическое разыменование.
Я не могу найти ничего, что объясняет, когда эта ссылка имеет место?
Безопасно ли вызывать .id() для значения ReferenceProperty?
Можно ли предположить, что вызов .id() не вызовет поиск хранилища данных?