2012-04-06 12 views

Antwort

15

Ihre Frage ein wenig vage. Erstens hat eine Lese der Dokumentation auf querying across relationships.

Wenn Sie Kurse nur im Zusammenhang erhalten mögen diese Age ‚s mit einem bestimmten Feldwert:

Course.objects.filter(target_age__FIELD=...) 

wo FIELD das Feld in Ihrem Age Modell ist, dass Sie möchte abfragen.

Alternativ, wenn Sie einen Age Objekt haben und Sie möchten alle Kurse erhalten, die zu einem bestimmten Age Objekt tatsächlich verwandt sind, benötigen Sie:

age = Age.objects.get(...) 
courses = Course.objects.filter(target_age=age) 

oder wenn Sie wollen Kurse bekommen, die in Zusammenhang stehen zumindest eines von einer Anzahl möglicher Age ‚s:

ages = Age.objects.filter(...) 
courses = Course.objects.filter(target_age__id__in=ages.values_list('id')) 

EDIT

Das letzte Beispiel verwendet the in lookup

+0

Entschuldigung für meine weniger Informationen. Der Fall, nach dem ich frage, ist genau der letzte! Und, kann ich keine Abfrage mit dem zweiten bekommen, wenn Kurs mehrere target_age hat, oder? –

Verwandte Themen