Я считаю, что запрос НКУ не может включать в себя вызовы аксесса методы или атрибут добычи (много в том же ключе, что и то, что можно сделать только "SELECT * FROM"
принести целые предприятия или "SELECT __key__ FROM"
для извлечения ключей только - он не может выбирать поля, как и в [гипотетическом -!)] "SELECT this, that FROM
«)
Итак, вам нужно получить ключи, а затем вызвать каждый ключ .id()
аксессора (если вы хотите None
для ключей. которые не имеют идентификатор, а скорее имя, используйте .id_or_name()
, если вы хотите получить имя, если оно доступно, и None
только в крайнем случае). Например, чтобы получить только без None IDs:
thekeys = db.GqlQuery('SELECT __key__ FROM Whatever').fetch(1000)
theids = [k.id() for k in thekeys if k.id() is not None]
Идентификатор не «autoincremented». Они гарантированно будут уникальными в рамках одного типа и группы сущностей, но вряд ли они будут непрерывными и не гарантированно увеличиваться. (На сервере разработки они являются последовательными.) – geoffspear