프레임워크/Django

[Django]choice_set은 무엇입니까?

benjykim 2019. 1. 3. 11:26
반응형

장고 튜토리얼을 따라하던 중 아래와 같은 코드가 나왔다.


p.choice_set.create(choice='Not much', votes=0)


갑분 choice_set..? 또 찾아봐야지.


역시 나와 같이 당황한 사람을 stack overflow에서 바로 찾을 수 있었다.


답변을 한국어로 옮겨보면 다음과 같다.


당신은 Choice에 관한 Foreign Key를 만들어 각각의 Choice를 하나의 Question에 관계시켰다.

따라서, 각각의 Choice는 명시적으로
(모델에서 당신이 선언한) 하나의 Question 필드를 가지고 있다.

Django의 ORM은 Question에서 역방향으로 관계를 따르며,
각 인스턴스에 foo_set이라 불리는 필드를
자동으로 생성한다. 여기서 Foo는 해당 모델에 대한
Foreign Key 필드가 있는 모델이다.


choice_set 은 'Question'인스턴스와 관련된 'Choice'개체의 쿼리 세트를 만들 수 있는
'RelatedManager'
이다. (예: q.choice_set.all())

# 이하 생략...
https://stackoverflow.com/questions/2048777/django-tutorial-what-is-choice-set





반응형