py3-flask-pymysql 兼容问题(use_native_unicode).py
資深大佬 : yykrlc 2
python >=3.7.9 Flask 1.12 Flask-SQLAlchemy 2.4.4 Flask-WTF 0.14.3 flask_migrate 2.5.3 flask_script 2.0.6 flask_restful 0.3.8 requests redis pymysql 0.10.1
连接 mysql
MDB_URI = ‘mysql+pymysql://……..
报错信息:
TypeError: Invalid argument(s) 'use_native_unicode' sent to create_engine(), using configuration MySQLDialect_mysqldb/QueuePool/Engine. Please check that the keyword arguments are appropriate for this combination of components.
涉及源码 site-packages/sqlalchemy/engine/strategies.py”, line 173, in create
# all kwargs should be consumed if kwargs: # print(kwargs) == {"use_native_unicode":''} raise TypeError( "Invalid argument(s) %s sent to create_engine(), " "using configuration %s/%s/%s. Please check that the " "keyword arguments are appropriate for this combination " "of components." % ( ",".join("'%s'" % k for k in kwargs), dialect.__class__.__name__, pool.__class__.__name__, engineclass.__name__, ) ) engine = engineclass(pool, dialect, u, **engine_args)
db = SQLAlchemy() flask_sqlalchemy/init.py
# 默认 use_native_unicode=True def __init__(self, app=None, use_native_unicode=True, session_options=None, metadata=None, query_class=BaseQuery, model_class=Model, engine_options=None):
是不是 flask_sqlalchemy 和 sqlalchemy 兼容问题,除了改源码还有别的解决方法吗。
大佬有話說 (2)