인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

ajdsasld님의 프로필 이미지
ajdsasld

작성한 질문수

파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트

관계를 표현하는 모델 필드 (OneToOneField)

OneToOneField 관련 질문입니다!

작성

·

173

0

안녕하세요, 강사님. 

"관계를 표현하는 모델 필드 (OneToOneField) " 강의 예시를 보면

User:Profile를 FK로 지정한다면 -> profile.user_set.first() -> user 이러한 내용이 나오는데요.

 

만약 User:Profile 에서 Profile를 FK로 지정한다면, 1:N관계에서 Profile 모델이 N측이니까 User모델 객체에 profile.user 이렇게 접근할 수 있는 게 아닌건가요?

그리고 User 모델 입장에서 Profile 모델 객체로 접근할 때는 참조할 모델명이 없기 때문에 user.profile._set 이렇게 접근하는 게 아닌가해서 질문드려 봅니다! 

 

답변 1

1

이진석님의 프로필 이미지
이진석
지식공유자

안녕하세요.

설명해주신 내용이 맞습니다.

  • User:Profile를 1:N 관계로 지정한다면, profile.user 코드와 user.profile_set.all() 코드를 쓸 수 있게 됩니다.
  • User:Profile를 1:1 관계로 지정한다면, profile.user 코드와 user.profile 코드를 쓸 수 있게 됩니다. user.profile 시에 user와 관계에 있는 Profile이 없는 경우, Profile.DoesNotExist 예외가 발생합니다.

본 에피소드의 강의노트에도 본 오류를 수정하여 보충해두었습니다.
오류를 찾아주셔서 감사드립니다. :-)

ajdsasld님의 프로필 이미지
ajdsasld
질문자

강사님, 빠른 답변 감사합니다! 본의 아니게 오류를 발견하게 된 것 같습니다ㅎㅎ 앞으로도 계속 공부하겠습니다:)

ajdsasld님의 프로필 이미지
ajdsasld

작성한 질문수

질문하기