작성
·
261
답변 1
1
안녕하세요.
Test2 객체가 test2 이름으로 있을 경우,
Test2 모델 클래스 정의에 외래키로서 test1 필드가 있으니, test2.test1 참조를 통해 외래키 관계에 있는 Test1 객체를 참조할 수 있습니다. 그럼 test2.test1.a 가 되겠죠.
test2 객체에 a 속성을 두실려는 이유가 무엇인지 궁금합니다.
이는 장고 모델의 영역이 아니라 파이썬 클래스 기본 문법으로 해보실 수 있으실 듯 합니다. Test2 클래스에 a 이름의 getter/setter 메서드를 추가하시어, test1.a 를 참조하는 방식인 거죠. 파이썬에서 getter/setter 메서드는 @property 장식자를 통해서 구현해보실 수 있습니다.
파이썬 공식문서 : https://docs.python.org/ko/3/library/functions.html#property
물론 경우에 따라 다른 방식이 있을 수도 있습니다.
화이팅입니다. :-)
옙. 장고 모델의 필드 정의는 파이썬의 Descriptor를 통해 구현되고 있는 데요.
위에서 말씀드린 getter/setter 를 Descriptor를 통해서 구현하시어 재사용성을 높여보시는 것도 좋은 접근입니다.
파이썬 공식문서 : https://docs.python.org/ko/3/howto/descriptor.html
화이팅입니다. :-)
id 같이 두 클래스로 만들었지만 주체는 동일한 사람(같은 id)라 A class에서 정의한 속성을 B class에도 동일하게 사용하고 싶어서 질문드렸습니다.
남은 강의도 잘 듣고 꼭 완강하겠습니다. 선생님 답변 감사합니다 :)