Sql row=result.fetchone()AttributeError:';非类型';对象没有属性';fetchone';
我有一个python脚本,它应该从postgres数据库“获取”信息 创建_table.pySql row=result.fetchone()AttributeError:';非类型';对象没有属性';fetchone';,sql,postgresql,flask-restful,Sql,Postgresql,Flask Restful,我有一个python脚本,它应该从postgres数据库“获取”信息 创建_table.py from flask import request from flask_restful import Resource import psycopg2 class single_user_Request(Resource): def get(self, username): connection = psycopg2.connect("dbname = 'tracker' "
from flask import request
from flask_restful import Resource
import psycopg2
class single_user_Request(Resource):
def get(self, username):
connection = psycopg2.connect("dbname = 'tracker' "
"user = 'postgres' "
"password='rasengan1408' "
"host = 'localhost' "
"port='5432'")
cursor = connection.cursor()
query = "SELECT * FROM users WHERE username=%s"
result = cursor.execute(query, (username,))
row = result.fetchone()
connection.close()
if row:
return {'req_id':row[0], 'username':row[1], 'equipment_name': row[2], 'requesttype':row[3], 'description': row[4], 'status':row[5]}
return {'message':'request not found'}, 404
init.py
from flask import Flask
from flask_restful import Api
from app.api.v1.requests import single_user_Request
def create_app():
app = Flask(__name__)
app.secret_key = 'GciOiJIUzI1NiJ9.eyJleHAiOj'
api = Api(app)
api.add_resource(single_user_Request, '/api/v1/userrequests/<string:username>')
return app
在运行脚本之后
AttributeError: 'NoneType' object has no attribute 'fetchone'
我很难理解,如果数据库中有数据
游标,为什么fetchone会是一个非类型对象。execute
不会返回任何内容,
您需要像这样更改代码
query = "SELECT * FROM users WHERE username=%s"
cursor.execute(query, (username,))
row = cursor.fetchone()
query = "SELECT * FROM users WHERE username=%s"
cursor.execute(query, (username,))
row = cursor.fetchone()