점프투 플라스크 문의 드립니다. 답변 모델 생성에서 이해하지 못하는것이 있습니다.

https://wikidocs.net/81045
페이지에 보면

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)

class Answer(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    question_id = db.Column(db.Integer, db.ForeignKey('question.id', ondelete='CASCADE'))
    question = db.relationship('Question', backref=db.backref('answer_set'))
    content = db.Column(db.Text(), nullable=False)
    create_date = db.Column(db.DateTime(), nullable=False)

위 코드 중에서 Answer 클래스중
question_id = db.Column(db.Integer, db.ForeignKey('question.id', ondelete='CASCADE'))

question.id : 이부분이 이해가 안갑니다.

설명을 보면
"db.ForeignKey에 지정한 첫 번째 값은 연결할 모델의 속성명이고" 라고 되어있습니다.

연결할 모델의 속성명이면
바로 아래부분에 있는
question = db.relationship('Question', backref=db.backref('answer_set'))
이 속성인가요?

이부분이 예전에도 이해를 못했데 다시봐도 이해를 못하겠네요
알려주시면 감사하겠습니다

ilue00 412

2021년 7월 1일 11:49 오후

목록으로
1개의 답변이 있습니다. 1 / 1 Page

'question.id' 는 question 테이블의 id 컬럼을 의미합니다.

박응용

2021년 7월 2일 12:30 오전

테이블을 Question 처럼 모델로 만들어 사용하기 때문에 용어 사용에 혼란스러운 면이 있네요. 관련 문서도 좀 더 명확하게 수정했습니다. - 박응용님, 2021년 7월 2일 12:47 오전 추천 , 대댓글
@박응용님 친절한 답변 감사드립니다. 제가 이해 못한부분이 추가로 있는데요, question 테이블은 언제 , 어떤 코드 때문에 생겨난것일까요? question 테이블을 만든적이 없는거 같애요 ㅠㅠ - ilue00님, 2021년 7월 2일 3:47 오후 추천 , 대댓글
@ilue00님 혹시 class Question(db.Model), Question 클래스로 인해서 , question 테이블이 생겨나는것일까요? 소문자 하고 대문자는 구분되기 때문에 틀린거 아닌가요? - ilue00님, 2021년 7월 2일 3:50 오후 추천 , 대댓글
+1 @ilue00님 테이블을 직접 생성하지는 않구요, 모델 생성후에 flask db migrate, flask db upgrade 와 같은 작업으로 테이블이 생성됩니다. - 박응용님, 2021년 7월 2일 3:50 오후 추천 , 대댓글
@박응용님 아 그럼 나중에 question 이라는 , 테이블을 생성하는군요, 이걸 미리 감안해서, 모델을 생성하고 있는거네요. 알겠습니다 덕분에 이해했습니다 감사드려요!! - ilue00님, 2021년 7월 2일 4:10 오후 추천 , 대댓글