SQLAlchemy 意外警告

时间:2021-03-05 20:38:21

标签: python flask sqlalchemy

我正在制作一个带有缓存的应用程序,它运行良好。但问题是当我不应该收到这些警告时,我不断收到这些警告。这些是警告:

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,但没有奏效。)

1 个答案:

答案 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