2010-08-20 8 views
6

Ich bin brandneu nach Django, also ist die Antwort darauf wahrscheinlich sehr einfach. Aber ich kann es nicht herausfinden.Wählen Sie Children eines Objekts mit ForeignKey in Django?

Angenommen, ich habe zwei Modelle ohne Knochen.

class Blog(models.Model): 
    title = models.CharField(max_length=160) 
    text = models.TextField() 

class Comment(models.Model): 
    blog = models.ForeignKey(Blog) 
    text = models.TextField() 

In der Python/Django Shell, wenn ich in einer Variablen einen Blog bezwecken (sagen wir blog = Blog.objects.get(id=3)), wie alle Kommentare seiner Kind, das ich wählen?

Dies scheint nicht zu funktionieren: blog.objects.all()

+0

dass Blog = models.ForeignKey (Blog) sein sollte? – second

+0

@second Hoppla! Ja, sollte es. Bearbeitet. – Vortico

Antwort

14

Fremdschlüssel folgen 'rückwärts' Sie verwenden

blog.comment_set.all() 
+1

Ich kann nicht glauben, dass ich das auf der Making Queries Seite in der Dokumentation weitergegeben habe! Vielen Dank! – Vortico

+0

Hast du das grundlegende Tutorial auf django.org gelesen? – leoluk

+0

Ja, aber ich dachte, die _set-Funktion wurde in ManyToMany-Beziehungen verwendet, um die Liste der ForeignKey-Eltern zu erhalten, anstatt umgekehrt. – Vortico

Verwandte Themen