모델로 데이터 처리하기(2-04) 질문입니다.

안녕하세요. 책을 읽으면서 궁금한점이 있어서 질문을 남깁니다.

question_id = db.Column(db.Integer, db.ForeignKey('question.id', ondelete='CASCADE'))
ForeignKey중에서 'question.id' 는 Question 클래스에서 받아오는건 알겟는데 question이라는 테이블은 Question이라는 테이블을 소문자로 자동으로 변환 되어지는 것입니까?

답변 부탁드립니다

Jsca 440

2020년 12월 21일 8:24 오후

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

안녕하세요.

question은 DB와 상관없이 파이썬 코드에서 answer를 통해서 question에 접근하기 위한 코드입니다.
question 은 다음과 같이 Answer 모델에 정의되어 있습니다.

question = db.relationship('Question', backref=db.backref('answer_set'))

quesiton이라는 이름은 그냥 변수일 뿐이고 실제로는 Question이라는 테이블과의 연결을 의미합니다.

도움이 되셨기를 바랍니다.

박응용

M 2020년 12월 21일 8:45 오후

실제로 Question 이라는 테이블을 연결 할때 question.id 라고 써저 있는데 ORM 에서는 어떻게 맵핑이 이루어지는지가 궁금합니다. 일반적인 sql문법에서는 Table명.id 를 주는데 ORM 에서의 그작동이 어떻게 이루어지는지가 궁금합니다. - Jsca님, 2020년 12월 22일 1:34 오후 추천 , 대댓글
@Jsca님 다음 문서를 참조해 보시면 ForeignKey의 첫번째 인수는 "테이블명.컬럼명" 이 되구요, 대소문자는 상관하지 않는것 같습니다. https://docs.sqlalchemy.org/en/14/core/constraints.html#sqlalchemy.schema.ForeignKey - 박응용님, 2020년 12월 22일 2:09 오후 추천 , 대댓글
@박응용님 같은 문의사항인데요. 답변을 읽어도 해결이 안되네요 question은 DB와 상관없이 파이썬 코드에서 answer를 통해서 question에 접근하기 위한 코드입니다. question 은 다음과 같이 Answer 모델에 정의되어 있습니다. --- 라고 답변하셨는데 이해를 못하여 추가 질문 드립니다. 질문1. answer를 통해서 question에 접근하기 위한 코드이고 ,question은 , Answer모델에 정의 되어있다고 답변주셨는데 ForeignKey는 외부키이고 , 다른 테이블에 접근하기위한 , 코드 아닌지요? 근데 왜 같은 , 테이블인(Answer) question 속성에 접근을 한는것일까요? 질문2. jsca 님의 댓글 질문에는 --- 실제로 Question 이라는 테이블을 연결 할때 question.id 라고 써저 있는데 ORM 에서는 어떻게 맵핑이 이루어지는지가 궁금합니다. 일반적인 sql문법에서는 Table명.id 를 주는데 ORM 에서의 그작동이 어떻게 이루어지는지가 궁금합니다. ---(질문내용)--- --- ForeignKey의 첫번째 인수는 "테이블명.컬럼명" 이 되구요, 대소문자는 상관하지 않는것 같습니다 ---(답변내용)--- 라고 답변주셨는데 이번에는 대소문자 상관하지 않고, "테이블명.컬렴명" 이라서 Question 테이블에 연결한다는 답변을 주시니 너무 헥갈립니다. question.id 는 Answer 테이블에 question에 접근하기 위한 속성인가요? Question 테일블에 연결하기 위한 속성인가요? 자세한 답변 주신다면 감사하겠습니다! - ilue00님, M 2021년 2월 17일 6:11 오전 추천 , 대댓글
@ilue00님 질문1. Answer모델에서 Question모델을 사용하기 위해 relationship을 사용합니다. 같은 테이블이라는게 무슨 의미인지요? 질문2. ForeignKey에서 사용한 question.id 는 파이썬 모델 객체가 아닌 물리적인 테이블명과 컬럼명의 조합인 'question.id'를 의미합니다. - 박응용님, 2021년 2월 17일 7:58 오전 추천 , 대댓글