작성
·
169
0
안녕하세요.
강사님 내용대로 하면 계속 경고문구가 나오는데요.
이걸 변경해줘야 할 지요..
(경고문구)
Role.query.all()
back_populates 로 바꿔주면 경고는 사라집니다.
from flask_sqlalchemy import SQLAlchemy
from flask import Flask
app = Flask(__name__)
app.app_context().push()
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:////ryujaean/study/flask_sqlalchemy/form_webapp/form_db'
db = SQLAlchemy(app)
# Role, Membr, Project
class Role(db.Model):
id = db.Column(db.Integer, primary_key = True)
position = db.Column(db.String(50))
members = db.relationship('Member', backref='role', lazy = 'dynamic')
class Member(db.Model):
id = db.Column(db.Integer, primary_key = True)
name = db.Column(db.String(100))
role_id = db.Column(db.Integer, db.ForeignKey('role.id'))
# projects = db.relationship('Project', secondary='member_project', backref='member', lazy='dynamic')
projects = db.relationship('Project', secondary='member_project', back_populates='members', lazy='dynamic')
class Project(db.Model):
id = db.Column(db.Integer, primary_key = True)
name = db.Column(db.String(100))
# members = db.relationship('Member', secondary='member_project', backref='project', lazy='dynamic')
members = db.relationship('Member', secondary='member_project', back_populates='projects', lazy='dynamic')
db.Table('member_project',
db.Column('member_id',db.Integer, db.ForeignKey('member.id')),
db.Column('project_id',db.Integer, db.ForeignKey('project.id'))
)
python 3.10.10
flask 3.0.1
flask-SQLAlchemy 3.1.1
SQLAlchemy 2.0.25
입니다.
>> goormIDE 에서도 동일한 경고가 나왔는데요. 거기의 버전은 아래와 같습니다.
flask 2.5.5
Flask-SQLAlchemy 3.0.5
Python 3.7.4
SQLAlchemy 2.0.25
그리고
현재 로컬pc에서, vscode로
Role.query.get() 코드 실행시,
결과값이 나오기는 하나 old 버전이고,
Session.get()을 실행하라는 경고문이 나오네요.
ㅡㅡ;;
>>>>>>
session.get()사용하라는 경고문은
editor = db.session.get(Role,2) 로 하니까 사라졌네요.