2014-10-04 5 views
0

Я пытаюсь вытащить информацию о конкретном преподавателе из объектов, которые я возвращаю, и связать их друг с другом? Скажем, у меня есть следующие таблицы:Python objects.filter multiple tables

Инструктор:

 
id name   summary 
====================================== 
1  Joe   Bacon ipsum dolor sit 
2  John   Shankle venison tri-tip 
3  Jim   Spare ribs pastrami strip 

курса:

 
id name   description     instructors 
===================================================================== 
1 algorithm  Bacon ipsum dolor sit   Joe, Tim 
2 python   Shankle venison tri-tip  John 
3 ruby on rails Spare ribs pastrami strip  Matt, Joe, Sean 

Обзор:

 
id course_id   body 
================================================== 
1  1     Bacon ipsum dolor sit 
2  1     Shankle venison tri-tip 
3  2     Spare ribs pastrami strip 
4  2     Bacon ipsum dolor sit 
5  2     Bacon ipsum dolor sit 
6  3     Spare ribs pastrami strip 

и й e следующую функцию, чтобы получить информацию о преподавателе, как я могу получить отзывы для конкретного инструктора (например: Joe)?

def instructor(req, key): 
    instructor = get_object_or_404(Instructor, key=key) 
    courses = Course.objects.all_ordered(sort).filter(instructors=instructor) 

    reviews = Review.objects.filter(......) ???????? 

    return(req, 'blah.html', vars()) 

Например, если инструктор "Джо", переменные "обзоры" должна иметь 3 записи:

 
id course_id   body 
================================================== 
1  1     Bacon ipsum dolor sit 
2  1     Shankle venison tri-tip 
6  3     Spare ribs pastrami strip 

ответ

0

инструктора = get_object_or_404 (Instructor, ключ = ключ)

курсов = Course.objects.all_ordered (sort) .filter (инструкторы = инструктор)

отзывов = Review.objects.filter (курс__in = курсы)