質問するログイン新規登録

回答編集履歴

2

誤字

2019/03/01 09:07

投稿

nico25
nico25

スコア830

answer CHANGED
@@ -1,7 +1,8 @@
1
1
  主に設定 app.config を操作しているみたいですね。
2
2
  自分も気になっていたので、該当のソースコードを引っ張ってきました。
3
- * [pallets/flask-sqlalchemy/flask_sqlalchemy/__init__.py](https://github.com/pallets/flask-sqlalchemy/blob/master/flask_sqlalchemy/__init__.py#L767-L803)
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

誤字

2019/03/01 09:07

投稿

nico25
nico25

スコア830

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
  ```