플라스크 user 객체가 너무 헥갈리네요 ㅠ
https://wikidocs.net/81059#sqlite
3-08 모델 수정하여 파이보 기능 다듬기 중에서
[1] Question 모델에 user_id, user 필드 추가하기 입니다.
Question 모델에 ‘작성자’ 필드를 추가하자. 다음과 같이 Question 모델에 user_id, user 필드를 순서대로 추가하면 된다.
C:/projects/myproject/pybo/models.py
(... 생략 ...)
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'))
(... 생략 ...)
위가 코드고
아래가 설명입니다
user_id 필드는 User 모델 데이터의 id값을 Question 모델에 포함시키기 위한 것이다. user 필드는 Question 모델에서 User 모델을 참조하기 위한 필드이다. 이를 위해 db.relationship 함수로 필드를 추가했다. db.relationship함수의 backref 매개변수는 User 모델 데이터를 통해 Question 모델 데이터를 참조하려고 설정한 것이다.
question.user.username처럼 Question모델 객체 question을 통해 User 모델 데이터를 참조할 수 있다.
질문을 여러 개 작성했을 때 나중에 자신이 작성한 질문을 user.question_set으로 참조할 수 있다.
위설명중에서
질문을 여러 개 작성했을 때 나중에 자신이 작성한 질문을 user.question_set으로 참조할 수 있다.
위와같이 되어있는데...
user.question_set 의 user 객체는
위 코드에서 user_id 속성 밑에 있는, user 속성인가요?
아니면,
models.py에 있는
User 클래스가 만든 , user 테이블 객체일까요?
제생각에는
User클래스로 인해 만들어지는 user테이블 객체 인거같은데 맞는지 확인 부탁드립니다!
자꾸 질문드려 죄송합니다.
ilue00 님 261
2021년 7월 9일 9:58 오후