2014-01-21 1 views
0

나는 보통 이러한 명시적인 예제를 제공하는 것을 피하는 경향이 있지만이 경우에는 필요합니다. (- 완전성 목적으로 만 관련이 없습니다) Django의 ORM에서 역 관계를 얻는 방법

StudentGroup가 나타내는

  1. 학생
  2. 그룹
  3. StudentGroup
  4. CourseGroup
  5. 코스 :

    나는 5 개 단체가 졸업반에 속한 학생들 쪽으로. A CourseGroup은 전체 그룹이 참여하는 코스입니다.

    Group의 일부이며 특정 Course에 참여하는 모든 학생을 받고 싶습니다.

    students = Student.objects.filter(studentgroup=1) 
    

    확실하지 왜 studentgroup=1 말할 수 있지만 다행입니다 : 지금까지, 나는 단지 그룹의 모든 학생들을 얻을 관리했습니다. 그러나 아무 studentgroupcourse=1 :) :) 어떤 도움이 있습니까? 나는 본 적이 http://pastebin.com/07z1iEcw

+0

에 외래 키를있다 :

편집 : 내 모델은에 http ://stackoverflow.com/questions/5212463/django-follow-relations-backwards하지만 나에게도 적용되지 않습니다. 어쩌면 내가 틀렸어. –

+0

모델 정의를 게시하십시오. 목록에있는 각 모델간에 관계 유형 (ForeignKey, ManyToMany)을 게시 할 수 없다면 – dm03514

+0

@ dm03514 모델을 업데이트해야합니다. 나는 네가 필요로하는 것에 대답을했다 :'studentgroup__group__coursegroup__course '. 두 가지 밑줄로 관계를 맺을 수 있다는 것을 몰랐습니다. 그 대답을 받아 들일 것입니다. 감사. –

답변

2

CourseGroup 가정 StudentGroup에 대한 외래 키와 참조를 위해 Course

Student.objects.filter(studentgroup=1, studentgroup__coursegroup__course=your_course)