2016-12-14 35 views
0

我正在運行一個瓶頸web框架綁定到一個sqlite數據庫。我遇到問題,返回包含列名和該列的值的查詢。我在下面列出了相關的代碼。Sqlalchemy和Flask API不會從數據庫返回列和值

import threading 
import time 
import KeySys 
import serial 
from flask import Flask, request 
from flask_restful import reqparse, abort, Api, Resource 
from sqlalchemy import create_engine 
from json import dumps 
from time import sleep 
from datetime import datetime 

e = create_engine('sqlite:///lockdb.db') 
app = Flask(__name__) 
api = Api(app) 
parser = reqparse.RequestParser() 
parser.add_argument('LockSwitch') 

class Keystat_Meta(Resource): 
    def get(self): 
     #Connect to databse 
     conn = e.connect() 
     #Perform query and return JSON data 
     query = conn.execute('select * from LockStat') 
     return {'KeyStat': [query.cursor.fetchall()]} # I've tried keys() all() items(column, value) and various different queries. 

api.add_resource(Keystat_Meta, '/keystat') 

if __name__ == '__main__': 
    app.run() 
+1

你得到什麼錯誤?根據[sqlalchemy docs](http://docs.sqlalchemy.org/en/latest/core/connections.html#basic-usage),query應該是一個字典。嘗試打印'query.items()'看看你是否得到結果。 –

+0

謝謝你的幫助,當我做query.cursor.fetchall()我得到沒有列名稱的值,如果我做query.keys()我得到所有的列名稱,但沒有值。如果我做query.items()我得到的錯誤'ResultProxy'對象沒有屬性'項' – Cfoote7

+0

您可以參考此線程http://stackoverflow.com/questions/22277548/return-field-name-and-value -from-sqlalchemy-result – ichbinblau

回答

1

如果別人與此掙扎,我花了它衝擊的一天,但我找到了解決方案

回報{「KeyStat」:字典(郵政編碼(元組(query.keys( )),i))爲我在query.cursor]}

相關問題