inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

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

외래키 속성 사용질문

309

코드몽키

작성한 질문수 25

1




 
위 코드 처럼 Test2에서 Test1을 외래키 참조 하였습니다.
 
이때 Test2에서 a변수를 Test1 a 변수와 동일하게 사용하고 싶은데, 어떻게 Test1의 a 변수 값을 할당 할 수 있나요?
 
 

docker django python react

답변 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

물론 경우에 따라 다른 방식이 있을 수도 있습니다.

화이팅입니다. :-)

0

코드몽키

id 같이 두 클래스로 만들었지만 주체는 동일한 사람(같은 id)라 A class에서 정의한 속성을 B class에도 동일하게 사용하고 싶어서 질문드렸습니다. 

남은 강의도 잘 듣고 꼭 완강하겠습니다. 선생님 답변 감사합니다 :)

0

이진석

옙. 장고 모델의 필드 정의는 파이썬의 Descriptor를 통해 구현되고 있는 데요.

위에서 말씀드린 getter/setter 를 Descriptor를 통해서 구현하시어 재사용성을 높여보시는 것도 좋은 접근입니다.

파이썬 공식문서 : https://docs.python.org/ko/3/howto/descriptor.html

화이팅입니다. :-)

0

코드몽키

넵 알겠습니다. 감사합니다 :)

안녕하세요.

0

62

1

[OneToOne Field Demo] get_user_model() 메서드를 활용해야 하는 이유?

0

285

1

useEffect 훅에서 else 유무에 따른 결과

0

222

1

useAxios 훅의 dependency array 설정

0

254

1

useEffect에서 변수 업데이트 관련 질문

0

391

1

rest_framework.generics.CreateAPIView의 model 속성 유무

0

276

1

bootstrap4

0

481

4

리뉴얼 강의가 오픈이 되면 기존 강의는 더이상 못보는걸까요

1

374

1

admin form에서 앞선 필드 선택 후 다른 필드 select widget 구성하는 방법

0

579

3

useState는 필수일까요?

0

272

1

python manage.py makemigrations instagram 시 created_at default 오류가 발생합니다.

0

611

4

Django allauth를 사용한 소셜 로그인 시 에러

0

660

1

프로젝트명 변경 뒤, 디버그툴바+디버그모드 사용 시 에러

0

569

2

useLocalStorage() 함수 사용여부

0

238

1

django에 LOGIN_URL = '/accounts/login/'의 의미?

0

454

1

리듀서의 의미 재확인

0

439

1

simple-jwt Refresh Token 사용 노하우

0

908

2

docker compose 를 통한 배포 관련 오류 문의

0

686

1

파이썬 속도 장고 관련 궁금한게 있습니다.

0

372

1

is_like_user

0

238

1

related_name 오류

0

278

1

re_path 오류

0

265

1

re_path url

0

255

1

No post matches the given query

0

671

2