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

빅재미코딩님의 프로필 이미지

작성한 질문수

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

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

1:N 관계 ForignKey 생성자 to="self" 속성 예시

해결된 질문

23.04.22 19:33 작성

·

414

·

수정됨

0

on_delete 속성에 아래 수업내용처럼

to="self" : 자기 참조인 "self" 를 지정

하는 경우(케이스)는 도대체 어떤 경우 인지 궁금합니다.

class OneModelCls(models.Model):  
    pass
class NModelCls(models.Model): 
    val1 = models.ForeignKey(
                             to="self", 
                             on_delete=...
           )

답변 2

1

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

2023. 04. 22. 19:58

안녕하세요.

on_delete가 아니라 to에서 외래키 참조를 가지는 다른 모델이나 "self"를 지정할 수 있습니다.

이는 주로 계층적인 관계를 표현할 목적으로 사용할 수 있습니다. 파일시스템의 폴더(Folder, Directory)도 계층적인 관계를 가지고 있습니다.

"부서", "카테고리", "태그" 등의 모델은 계층적인 관계로 설계될 수 있습니다. 이때 to="self" 를 지정하여 구현할 수도 있습니다.

화이팅입니다. :-)

0

빅재미코딩님의 프로필 이미지

2023. 04. 22. 21:03

아 그렇군요 계층적 관계 표현을 목적으로 하는 DB모델링 일 때 to="self" 로 할 수 있다.

 

이해 됬습니다! 감사드립니다~

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

2023. 04. 22. 21:18

다양한 질문 남겨주셔서 감사드립니다. :-)

본 강의 리뉴얼 중인데, 질문주신 내용은 리뉴얼에도 큰 도움이 되네요.

감사드리고, 화이팅입니다~!! 👍

빅재미코딩님의 프로필 이미지

2023. 04. 22. 23:17

제가 더 감사드립니다!

리뉴얼된 강의도 기대되는데

혹시 리뉴얼된강의는 대략 언제즈음 출시되나요?

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

2023. 04. 22. 23:19

늦어도 11월 쯤으로 예상하고 있습니다.

연말(혹은 내년초)에는 책으로도 출간될 예정입니다.

빅재미코딩님의 프로필 이미지

2023. 04. 22. 23:28

너무 기대 됩니다

지금 보다도

  • 원리적으로

  • 실무적으로

더 자세하고 깊게 배울 수 있었으면 하는 개인적 바램이 있습니다! ㅎㅎ


(지금 강의가 쉽다는건 절대 아닙니다~)