2013-05-03 3 views
0

Je mets cette clé et valeur dans le magasin de données avec la commande suivantemeilleure façon d'obtenir une entrée datastore GAE

data = MyData(db_token=request_token, db_secret=request_secret) 
data.put() 

Il ressemble à ceci dans le datastore

enter image description here

Que serait être le moyen le plus simple de récupérer db_secret si je connais db_token? -À-dire

retreived_secret = db.somecommand(foo) 
returns bar 

Répondre

2

Si db_token est unique, vous pouvez l'utiliser comme clé

Enregistrer

data = MyData(key_name=request_token, db_secret=request_secret) 
data.put() 

Fetch

data = MyData.get_by_key_name(request_token) 
0

Cela suppose qu'il n'y a qu'une seule entité avec db_secret = « foo »:

def retrieve_token(db_secret): 
    try: 
     entity = MyData.all().filter('db_secret =', db_secret).get() 
     return entity.db_token 
    except: 
     return None 

Si plusieurs entités qui correspondent, vous aurez besoin d'ajouter un autre filtre.

+0

Je reçois un objet de type d'erreur 'MyData' n'a pas d'attribut ' filtre'. Quelle serait la cause de cela? – jumbopap