为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:
【操作系统】:
【CPU】:
【问题描述】*:请问一下flask中报这个错要怎么处理
File “/home/my_env/lib/python3.6/site-packages/sqlalchemy/engine/strategies.py”, line 173, in create
engineclass.name,
TypeError: Invalid argument(s) ‘json_serializer’ sent to create_engine(), using configuration DMDialect_dmPython/QueuePool/Engine. Please check that the keyword arguments are appropriate for this combination of components.
可以参考下:
注意需要用2.0版本的sqlalchemy
from flask import Flask, Response, json
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
# 设置数据库链接地址
app.config['SQLALCHEMY_DATABASE_URI'] = 'dm+dmPython://SYSDBA:SYSDBA@192.168.186.3:5239'
# 设置显示底层执行的sql语句
app.config['SQLALCHEMY_ECHO'] = True
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] =True
# 初始化组件对象,关联flask应用
db = SQLAlchemy(app)
# 构建模型类
class Buscar(db.Model):
# 设置表名,表名默认为类名小写
__tablename__ = 'bus_car'
carnumber = db.Column(db.String(255), primary_key=True)
cartype = db.Column(db.String(255))
color = db.Column(db.String(255))
price = db.Column(db.Numeric(19, 4))
rentprice = db.Column(db.Numeric(19, 4))
deposit = db.Column(db.Numeric(19, 4))
isrenting = db.Column(db.Integer)
description = db.Column(db.String(255))
carimg = db.Column(db.String(255))
createtime = db.Column(db.Date)
def __repr__(self): # 自定义 交互模式 & print() 的对象打印
return "(%s, %s)" % (self.carnumber, self.cartype)
@app.route("/query")
def query():
# 查询所有用户数据, 返回User列表,
data = Buscar.query.all()
response_list = dict()
for item in data:
response_list['carnumber']=item.carnumber
response_list['cartype'] =item.cartype
return Response(json.dumps(response_list), mimetype='application/json')
if __name__ == '__main__':
app.run(host="192.168.186.3", port=5888, debug=True)
参考这篇文档
https://eco.dameng.com/docs/zh-cn/app-dev/python-SQLAlchemy.html