2010-05-07 3 views

Antwort

13

Sie das Objekt abzurufen, zum Beispiel mit einem query, dann rufen Sie .key().id() für diese Entität (wird None sein, wenn die Entität keine numerische ID hat; siehe here für weitere Informationen, die Sie von einem Key Objekt abrufen können).

+1

Sie auch ____key____ SELECT können FROM ... mit GQL, das ist eine schnelle Möglichkeit, den Schlüssel ohne den Overhead zu bekommen des Ladens der vollständigen Entität. –

+0

Könnten Sie die komplette Codierung schreiben, wie ich wirklich neu im Datenspeicher – Peter

+0

Danke, ich habe es jetzt herausgefunden – Peter

5

Die Frage wurde lange beantwortet.
(Ich füge hoffentlich einige vollständige Beispiele hinzu, ohne auf irgendwelche Zehen zu treten ...)

Eine Entität mit einer Abfrage erhalten; nur die Schlüssel bekommen ist faster and uses less CPU than retrieving the full entity:

query = Names.all(keys_only=True) 
names = query.get() # this is a shorter equivalent to `query.fetch(limit=1)` 
names.id() 

aus einer Vorlage:

{{ names.id }} 

GQL Alternative, wie es in einem Kommentar vorgeschlagen:

from google.appengine.ext import db 

query = db.GqlQuery("SELECT __key__ FROM Names") 
names = query.get() 
names.id() 
Verwandte Themen