回答編集履歴
2
誤字
answer
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
主に設定 app.config を操作しているみたいですね。
|
2
2
|
自分も気になっていたので、該当のソースコードを引っ張ってきました。
|
3
|
-
* [
|
3
|
+
* [flask-sqlalchemy/flask_sqlalchemy/__init__.py](https://github.com/pallets/flask-sqlalchemy/blob/50944e77522d4aa005fc3c833b5a2042280686d3/flask_sqlalchemy/__init__.py#L767-L812)
|
4
4
|
|
5
|
+
### flask.ext.sqlalchemy は deprecated
|
5
6
|
ちなみに flask.ext.sqlalchemy は deprecated とのことで、別の箇所から引っ張っています。
|
6
7
|
> Importing flask.ext.sqlalchemy is deprecated, use flask_sqlalchemy instead.
|
7
8
|
> ↓
|
@@ -11,7 +12,7 @@
|
|
11
12
|
>
|
12
13
|
> [flaskの勉強をしていたらこういったエラーに出会いましたが、どういう内容かわかりますか?](https://teratail.com/questions/56026)
|
13
14
|
|
14
|
-
|
15
|
+
### ソースコード
|
15
16
|
```python
|
16
17
|
class SQLAlchemy(object):
|
17
18
|
|
1
誤字
answer
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
自分も気になっていたので、該当のソースコードを引っ張ってきました。
|
3
3
|
* [pallets/flask-sqlalchemy/flask_sqlalchemy/__init__.py](https://github.com/pallets/flask-sqlalchemy/blob/master/flask_sqlalchemy/__init__.py#L767-L803)
|
4
4
|
|
5
|
-
flask.ext.sqlalchemy は deprecated とのことで、別の箇所から引っ張っています。
|
5
|
+
ちなみに flask.ext.sqlalchemy は deprecated とのことで、別の箇所から引っ張っています。
|
6
6
|
> Importing flask.ext.sqlalchemy is deprecated, use flask_sqlalchemy instead.
|
7
7
|
> ↓
|
8
8
|
> flask.ext.sqlalchemyのインポートは非推奨です。代わりにflask_sqlalchemyを使用してください。
|
@@ -52,5 +52,21 @@
|
|
52
52
|
'SQLALCHEMY_TRACK_MODIFICATIONS', None
|
53
53
|
)
|
54
54
|
|
55
|
+
if track_modifications is None:
|
56
|
+
warnings.warn(FSADeprecationWarning(
|
57
|
+
'SQLALCHEMY_TRACK_MODIFICATIONS adds significant overhead and '
|
58
|
+
'will be disabled by default in the future. Set it to True '
|
59
|
+
'or False to suppress this warning.'
|
60
|
+
))
|
61
|
+
|
62
|
+
app.extensions['sqlalchemy'] = _SQLAlchemyState(self)
|
63
|
+
|
64
|
+
@app.teardown_appcontext
|
65
|
+
def shutdown_session(response_or_exc):
|
66
|
+
if app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN']:
|
67
|
+
if response_or_exc is None:
|
55
|
-
|
68
|
+
self.session.commit()
|
69
|
+
|
70
|
+
self.session.remove()
|
71
|
+
return response_or_exc
|
56
72
|
```
|