강의로 돌아가기
조대연

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 상에 pollid, candidateid 와 같이 저장이 되는 것인지요?

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

1 개의 답변
정두식_

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

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

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