はじめに
PostgreSQLのこのページ
のイントロダクションのPythonのFlaskを試している際に警告が出てしまい、解決方法を模索した結果を残します。
サンプルコードの変更点
flask.ext.sqlalchemy
からインポートできなかったので、flask_sqlalchemy
に変更した。[YOUR_DATABASE_NAME]
は適切な名前に変更した(ここでは省略)。
変更後
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'postgresql://localhost/[YOUR_DATABASE_NAME]'
db = SQLAlchemy(app)
実行すると・・・
上記コードを実行すると、以下の警告が表示された。
warning
/usr/local/lib/python3.7/site-packages/flask_sqlalchemy/__init__.py:835: 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.
'SQLALCHEMY_TRACK_MODIFICATIONS adds significant overhead and '
実行自体はできているのだが、... will be disabled by default in the future.
と言われているので不安になった。
解消方法
SQLALCHEMY_TRACK_MODIFICATIONS
の値を手動で設定してあげると良い。下記コードを適切な部分に追加すると、警告が出なくなった。
add_code
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False