У меня есть модель с именем Version, которая выглядит следующим образом:
from google.appengine.ext import db
import piece
class Version(db.Model):
"A particular version of a piece of writing."
parent_piece = db.ReferenceProperty(piece.Piece, collection_name='versions')
"The Piece to which this version belongs."
note = db.TextProperty()
"A note from the Author about this version."
content = db.TextProperty()
"The actual content of this version of the Piece."
published_on = db.DateProperty(auto_now_add=True)
"The date on which the version was published."
Я хотел бы получить доступ к экземплярам Version через их идентификаторы, используя Version.get_by_id (), но этот вызов всегда возвращает None .В средстве просмотра хранилища данных я вижу, что у них есть значения идентификаторов, а в отладчике я могу запрашивать их, но не использовать их:
>>> for each_ver in version.Version.all():
... print each_ver.key().id()
...
34
35
36
31
32
>>> a = version.Version.get_by_id(34)
>>> type(a)
<type 'NoneType'>
Я вижу, что здесь есть много вопросов, где люди могутэффективно использовать get_by_id () так, как я хочу, и они не видят результатов, которые я вижу.
Может быть проблема в том, что каждый экземпляр Version является дочерним в группе сущностейа не корень группы сущностей?Каждая версия живет в группе объектов, которая выглядит как Member-> Piece-> Version.Если это проблема, есть ли способ, которым я могу ссылаться на сущность версии, не используя весь ее ключ?Если это не проблема, может кто-нибудь сказать мне, что я могу сделать, чтобы get_by_id () работал как положено?