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