📅  最后修改于: 2023-12-03 15:15:12.128000             🧑  作者: Mango
在使用 SQLAlchemy 进行 SQL 数据库操作时,可能会遇到一个警告信息:FSADeprecationWarning: SQLALCHEMY_TRACK_MODIFICATIONS will be disabled by default in the future. Set it to True or False to suppress this warning.
这个警告信息告诉我们,SQLALCHEMY_TRACK_MODIFICATIONS
属性将来将默认禁用,并建议我们设置为 True
或 False
来禁止显示此警告。
SQLALCHEMY_TRACK_MODIFICATIONS
是 SQLAlchemy 中的一个配置属性,用于追踪对象的修改并发送信号。当你在应用中做出修改时,如增删改操作,会自动提交变动,但这个功能默认开启会带来一些性能开销。
通过开启 SQLALCHEMY_TRACK_MODIFICATIONS
,SQLAlchemy 会为每个修改的对象创建一个自动提交的事务。对于大型应用或频繁进行增删改操作的应用,这将带来一定的性能开销。
警告提示我们将来会禁用 SQLALCHEMY_TRACK_MODIFICATIONS
,并建议我们设置为 True
或 False
以禁止显示此警告。
我们可以通过以下方式禁用此警告:
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db = SQLAlchemy(app)
SQLALCHEMY_TRACK_MODIFICATIONS
设置为 True
。但请注意,这可能会对性能产生一定的负面影响。app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True
SQLALCHEMY_TRACK_MODIFICATIONS
设置为 False
。这将禁止显示警告,并且可以提高性能。app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
在使用 SQLAlchemy 进行 SQL 数据库操作时,我们应该关注 SQLALCHEMY_TRACK_MODIFICATIONS
这个配置属性的影响。根据实际需求,我们可以选择将其设置为 True
或 False
,以禁止显示警告或优化性能。但请记住,在将来的版本中,SQLALCHEMY_TRACK_MODIFICATIONS
将默认禁用。