2010-05-13 6 views

Antwort

5

Verwenden Sie db.allocate_ids() wie beschrieben here, um eindeutige IDs für Ihre Entitäten zu generieren.

Hier ist ein kurzes Beispiel aus dem Beispiel auf den obigen Link abgeleitet:

from google.appengine.ext import db 

# get unique ID number - I just get 1 here, but you could get many ... 
new_ids = db.allocate_ids(handmade_key, 1) 

# db.allocate_ids() may return longs but db.Key.from_path requires an int (issue 2970) 
new_id_num = int(new_id[0]) 

# assign the new ID to an entity 
new_key = db.Key.from_path('MyModel', new_id_num) 
new_instance = MyModel(key=new_key) 
... 
new_instance.put() 

(issue 2970 reference)

+1

Oder geben Sie einfach keinen Schlüssel an und lassen Sie den Datenspeicher einen für Sie erstellen, der genau den gleichen Effekt hat. –

+0

@NickJohnson, das ist [nicht mehr zutreffend] (https://cloudplatform.googleblog.com/2013/05/update-on-datastore-auto-ids.html) seit der Version 1.8.1 von Google App Engine. –