2010-03-27 23 views
6

Sono nuovo a Google App Engine, ho questo entités classe User -
id_utente - intero
nome_utente - stringa
la password - stringa
Google App Engine - incremento automatico

voglio fare auto incremento per user_id, Come posso fare questo?

+0

Tieni presente che il motore dell'app non garantisce che gli ID che genera siano contigui: potresti trovarti con ID 1, 2 e 4, ad esempio, con ID 3 mai utilizzato. –

risposta

19

Non è necessario dichiarare user_id, GAE creerà un id chiave univoco ogni volta che si inserisce una nuova riga.

class User(db.Model): 
user_name = db.StringProperty() 
password = db.StringProperty() 

e per memorizzare un nuovo utente si farà:

user = User() 
user.user_name = "Username" 
user.password = "Password" 
user.put() 

per recuperare esso:

user = User.get_by_id(<id of the user>) 

per recuperare tutti gli ID:

query = datamodel.User().all() 
for result in query: 
    print result.key().id() 

Vedi The Model Class per ulteriore riferimento.

3

Ogni entità nel AppEngine ha già una chiave univoca e id (vedi documentation):

user().key().id() 

Si sarebbe meglio utilizzare che, invece.

Per eseguire l'inverso, utilizzare User.get_by_id(id).