2014-01-09 78 views
0

在模板頁面中,當我想循環訪問與外鍵相關的對象的變量時,我使用set.all函數。Django:在模板中顯示反向對象關係

例如:

{% for object2_info in object1.object2_set.all %} 
    {[object2_info.something}} 
{% endfor %} 

我不明白的是我怎麼能做到這一點的反向? 你可能會認爲這將是這樣的:

{% for object1_info in object2.object1_set.all %} 
    {[object1_info.something}} 
{% endfor %} 

但是,事實並非如此。

任何幫助,將不勝感激。

回答

1

這取決於你的模型定義。讓我們假設你有以下許多一對多關係:

class Autor(models.Model): 
    name = models.CharField(max_length=42) 

class Entry(models.Model): 
    title = models.CharField(max_length=21) 
    authors = models.ManyToManyField(Author) 

在這裏,我們可以訪問類的條目中的第一個例子,假設我們通過爲Author對象到我們的模板:

{% for entry in author.entry_set.all %} 
    {{ entry.title }} 
{% endfor %} 

Entry上沒有author_set,因爲我們明確命名它:authors

{% for author in entry.authors.all %} 
    {{ author.name }} 
{% endfor %} 

您可以在the official documentation瞭解更多。

+0

感謝您的幫助! – DGDD