2017-04-15 3 views
0

J'essayais d'obtenir le résultat de la requête mysql.Essayez d'interroger à partir de l'objet dictionnaire

def on_get(self, req, resp): 
    try: 
     db = MySQLdb.connect(**db_conf.dbConfig) 
     #use dictionary cursor 
     cursor = db.cursor(MySQLdb.cursors.DictCursor) 

     q = ("select * from BUDGET") 
     cursor.execute(q) 
     rows = cursor.fetchall() 

     #init the output object 
     output = {'budget': []} 
     for row in rows: 
      data = { 
       "id_budget": row['id_budget'], 
       "amount": row['amount'], 
       "days": row['days'], 
       "user_id": row['user'] 
      } 

      output['budget'].append(data) 

     resp.status = falcon.HTTP_200 
     resp.body = json.dumps(output, encoding='utf-8') 
     cursor.close() 
     db.close() 

la sortie que je reçois:

{ "erreur": " 'user'"}

Pourquoi? ce que je fais mal?

Merci.

Répondre

0

J'ai trouvé la réponse.

Le nom de la table de lignes était incorrect.

data = { 
         "id_budget": row['id_budget'], 
         "amount": row['amount'], 
         "days": row['days'], 
         "user_id": **row['USER_user_id']** 
       } 

Merci.