Запрос идентификатора с использованием моделей Google App Engine - PullRequest
0 голосов
/ 17 января 2012

В моем хранилище данных есть объект:

In [38]: i1
Out[38]: <my_app.models.Infospot at 0x4255a90>

In [39]: i1.key().id()
Out[39]: 162L

Но я не могу сделать запрос на основе его идентификатора:

In [41]: Infospot.get_by_id(162L) is None
Out[41]: True

In [45]: Infospot.get(Key.from_path('Infospot', 162L)) is None
Out[45]: True

Что я делаю не так?

1 Ответ

4 голосов
/ 18 января 2012

Вероятно, ваша Infospot сущность является дочерней сущностью. Сущность уникально идентифицируется по ее виду, идентификатору и всем ее родителям, поэтому попытка извлечь ее как корневую сущность не будет работать.

Вы можете проверить, так ли это, распечатав значение i1.key(); если это выглядит примерно как datastore_types.Key.from_path(u'Something', 123L, 'Infospot', 162L), это означает, что сущность является дочерней по отношению к сущности вида Something.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...