만드신 모델로 데이터를 만든다면,
q1 = Question.objects.create(subject="hello", description="world",
publication_date=datetime.now)
이렇게 질문을 만들 수 있고, 위 질문의 답은
a1 = Answer.objects.create(question=q1, content="blah...")
이렇게 만들 수 있겠죠. q1 이랑 a1 이랑 연결이 됐겠죠?
a1 만 알고 있을 때 q1은 a1.question 으로 알 수 있습니다.
만을 q1을 알고 있을 때 관련된 모든 answer 들을 알고 싶으면, 그때 쓰는 것이
q1.answer_set 입니다. q 와 a 는 1:다 관계에 있어서 a.question 하면 하나의 질문을 얻지만
q 입장에서는 a 가 여러개 이기 때문에 answer_set.all() 이렇게 여러개의 답을 얻습니다.
Question.objects.create 할 때 요기의 objects 가 쿼리셋 객체이고요,
방금 얘기한 answer_set 도 역시 쿼리셋 객체입니다.
쿼리셋 객체에 create 메쏘드를 호출해서 데이터를 만들 수 있죠.
(answer_set.create 요렇게 쓰는건 저도 처음 봤네요)
a1 = Answer.objects.create(question=q1, content="blah...")
이것과
a1 = q1.answer_set.create(content="blah...")
와 같습니다. (돌려보진 않았습니다만 아마도.)
김형용 드림