Каждый объект имеет ключ, он содержит информацию, такую как тип объекта, его пространство имен, родительские объекты и, что наиболее важно, уникальный идентификатор (необязательно определяемый пользователем).
Вы можете получитьключ сущности с использованием метода key
, который есть у всех сущностей.
message.key()
Ключ можно преобразовать в строку URL-адреса и обратно.
message_key = str(message.key())
message = Message.get(message_key)
Если ключимеет указанный пользователем уникальный идентификатор (имя ключа), доступ к нему можно получить следующим образом
message.key().name()
В качестве альтернативы, если имя ключа не указано, идентификатор будет назначаться автоматически.
message.key().id()
Чтобы назначить имя ключа для объекта, вы должны указать его при создании объекта, после чего вы не сможете добавлять / удалять или изменять имя ключа.
message = Message(key_name='someusefulstring', content='etc')
message.put()
После этого вы сможетечтобы получить сообщение из хранилища данных, используя имя ключа
message = Message.get_by_key_name('someusefulstring')
Используйте свойство db.ReferenceProperty для хранения ссылки на другой объект (может быть любого типа)
Это хорошая идея дляиспользуйте имя ключа когдаВозможно, поскольку извлечение данных из хранилища данных намного быстрее при их использовании, так как оно не требует запросов.