Flask db.relationship
Flask db.db.relationship는 실제 DB에 나타나는 필드가 아니다.
이 가상 필드는 DB를 좀 더 높은 추상화 수준에서 바라볼 수 있게 도와주는 역할을 한다.
models.py 의 QuestionClass
class Question(db.Model): id = db.Column(db.Integer, primary_key=True) subject = db.Column(db.String(200), nullable=False) content = db.Column(db.Text(), nullable=False) create_date = db.Column(db.DateTime(), nullable=False) user_id = db.Column(db.Integer, db.ForeignKey('user.id', ondelete='CASCADE'), nullable=False) user = db.relationship('User', backref=db.backref('question_set'))
models.py의 UserClass
class User(db.Model): id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(150), unique=True, nullable=False) password = db.Column(db.String(200), nullable=False) name = db.Column(db.String(150), nullable=False) email = db.Column(db.String(120), unique=True, nullable=False)
질문 글을 쓴 유저의 아이디가 궁금하다면, 'Question.user.username'을 통해 접근할 수 있다.
'db.realationship'의 첫번째 인자는 객체이름을 받는다. (User)
'backref'는 User객체에 삽입되는 가상필드 이름이다. (question_set)
질문을 여러개 했을 때 자신이 작성한 질문을 user.question_set으로 확인할 수 있다.
이를 통해 DB 데이터를 파이썬코드 상에서 접근할 때,
고수준의 추상화된 레벨에서 사용할 수 있다.
Author And Source
이 문제에 관하여(Flask db.relationship), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@wannabeing/Flask-db.relationship저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)