2016-12-14 52 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]}

相关问题