我正在制作一个带有缓存的应用程序,它运行良好。但问题是当我不应该收到这些警告时,我不断收到这些警告。这些是警告:
C:\Users\user\PycharmProjects\meon-dashboard\venv\lib\site-packages\flask_sqlalchemy\__init__.py:812: UserWarning: Neither SQLALCHEMY_DATABASE_URI nor SQLALCHEMY_BINDS is set. Defaulting SQLALCHEMY_DATABASE_URI to "sqlite:///:memory:".
warnings.warn(
C:\Users\user\PycharmProjects\meon-dashboard\venv\lib\site-packages\flask_sqlalchemy\__init__.py:833: FSADeprecationWarning: SQLALCHEMY_TRACK_MODIFICATIONS adds significant overhead and will be disabled by default in the future. Set it to True or False to suppress this warning.
warnings.warn(FSADeprecationWarning(
我已经设置了它们,正如您从这段代码中看到的:
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
app.config['SQLALCHEMY_DATABASE_URI'] = "sqlite:///configs/cache.sqlite3"
谁能告诉我为什么会收到这些警告以及如何使它们不出现?
(我也尝试将 app.config['SQLALCHEMY_TRACK_MODIFICATIONS']
设置为 True
,但没有奏效。)
答案 0 :(得分:1)
代替:
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
app.config['SQLALCHEMY_DATABASE_URI'] = "sqlite:///configs/cache.sqlite3"
应该是:
app.config['SQLALCHEMY_DATABASE_URI'] = "sqlite:///configs/cache.sqlite3"
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
您可以在此处阅读更多相关信息:
https://flask-sqlalchemy.palletsprojects.com/en/2.x/signals/
此外,从版本 SQLALCHEMY_TRACK_MODIFICATIONS
(未发布)开始,False
将默认设置为 3.0.0
:
https://flask-sqlalchemy.palletsprojects.com/en/master/changelog/#version-3-0-0
在撰写本文时,当前版本为 2.4.4
:
https://flask-sqlalchemy.palletsprojects.com/en/master/changelog/#version-2-4-4