2010-03-27 28 views
6

Soy nuevo en Google App Engine, tengo unas pocas cosas ENTIDADES clase de usuario -
user_id - número entero
nombre_usuario - cadena
contraseña - cadena
Google App Engine - incremento automático

que quiero hacer automático Incremento para el user_id, ¿Cómo puedo hacer esto?

+0

Tenga en cuenta que el motor de aplicaciones no garantiza que los ids que genera sean contiguos; es posible que termine con los ids 1, 2 y 4, por ejemplo, sin que nunca se utilice id 3. –

Respuesta

19

No necesita declarar user_id, GAE creará una identificación de clave única cada vez que inserte una nueva fila.

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

y almacenar un nuevo usuario que va a hacer:

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

a recuperarlo:

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

para recuperar todos los identificadores:

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

Ver The Model Class para mayor referencia.

3

Cada entidad en el AppEngine ya tiene una clave única e Identificación (ver el documentation):

user().key().id() 

Usted sería mejor usar en su lugar.

Para hacer lo contrario, use User.get_by_id(id).