조대연

Choice 에 get() 적용 시 인자에 대한 질문

안녕하세요! :)
좋은 강의 진심으로 감사합니다.
아래 이성용 님의 질문과 거의 유사한 질문입니다.

polls 함수 내부에서
선택한 여론조사(Poll) 및 후보자(selection) 에 해당하는 Choice 의 object 들을 아래와 같이 get() 함수로 가져오는데,

choice = Choice.objects.get(poll_id = poll_id, candidate_id = selection)

위 내용에서
- 첫번째 인자의 앞부분 poll_id
- 두번째 인자의 candidate_id
위와 같이 작성된 이유를 잘 이해하지 못하겠습니다.

Choice 모델은 아래와 같이 정의되어 있는데,

class Choice(models.Model):
poll = models.ForeignKey(Poll)
candidate = models.ForeignKey(Candidate)
votes = models.IntegerField(default=0)

위와 같이 정의 후, migration 을 진행하게 되면 자동으로 ForeignKey 를 받아오도록 지정된 항목들은 DB 상에 poll_id, candidate_id 와 같이 저장이 되는 것인지요?

다시한번 좋은 강의 진심으로 감사드리며,
답변 주시면 감사드리겠습니다! ㅡ^

1 개의 답변
정두식

_id를 지정할때는 id값을 넘겨야 하고, 그냥 모델명을 사용하시면 모델을 넘기시면 됩니다. 편하신대로 사용하시면 됩니다.

장고에서는 Foreign Key의 경우에는 _id를 이용할 수 있도록 하고 있습니다.

  • 조대연
    감사합니다! ^ㅡ^ ― 조대연 2017.8.18 11:24
답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.