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()
你得到什麼錯誤?根據[sqlalchemy docs](http://docs.sqlalchemy.org/en/latest/core/connections.html#basic-usage),query應該是一個字典。嘗試打印'query.items()'看看你是否得到結果。 –
謝謝你的幫助,當我做query.cursor.fetchall()我得到沒有列名稱的值,如果我做query.keys()我得到所有的列名稱,但沒有值。如果我做query.items()我得到的錯誤'ResultProxy'對象沒有屬性'項' – Cfoote7
您可以參考此線程http://stackoverflow.com/questions/22277548/return-field-name-and-value -from-sqlalchemy-result – ichbinblau