상황
- DELETE API를 호출하여 게시글을 삭제하려고 하는데 계속해서 오류가 발생함..
- 문제점의 원인을 찾아보니 하나의 db 세션이 사용중인 경우에는 사용할수 없다고 함.. 그런데 애초에 여러개의 db 세션을 만든 적이 없는데..?? 해서 찾아봄
문제 원인
- Market.py와 Models.py에서 서로 import해주는 이유로 생기는 문제로 확인
- Market.py에 app와 db가 있고 url 라우팅 존재
- Models.py에 db.model을 상속받는 모델들 존재
- 따라서, 따로 config.py를 두어서 config에 db와 app를 두고 Models.py와 Market.py가 config에 있는 db와 app를 사용하도록 하면 서로 import해주지 않으므로 문제 해결
Config.py
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///Market.sqlite3'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True
db = SQLAlchemy(app)
결론
- 순환 구조로 import하는걸 지양하자
'프레임워크 > Flask' 카테고리의 다른 글
[ Flask ] 파일 불러오기 (0) | 2021.12.24 |
---|