2015-11-02 39 views
1

我有這些相關機型:如何獲得django模板中的相關字段?

class Forum(models.Model): 
... 

class ForumFront(models.Model): 
    forum = models.ForeignKey(Forum, default=None) 
    headline = models.ForeignKey(Topic, default=None) 
    topic_count = models.IntegerField(default=0) 
    post_count = models.IntegerField(default=0) 

我希望得到呈現forum對象的模板topic_countpost_count領域。我如何才能做到這一點?

我嘗試了{{forum.topic_count}}之類的不同標籤,但它們什麼都沒顯示。

+2

TOPIC_COUNT和POST_COUNT是ForumFront的屬性。每個Forum對象都有* many * ForumFront對象,因此有很多topic_count和post_count值。 –

回答

1

這裏的問題是你想要顯示哪個ForumFront。可能是ForumFrontForum對象關聯,因爲它是ForeignKey

您可以撥打{{ forum.forumfront_set.all }},您將獲得與{{ forum }}相關的所有ForumFront對象。

你可以這樣顯示出來:

{{ forum }} 
<ul> 
{% for f_f in forum.forumfront_set.all %} 
    <li>{{ f_f.topic_count }}, {{ f_f.post_count }}</li> 
{% endfor %} 
</ul> 
+0

這起作用。謝謝。然而,由於每個'Forum'只有一個'ForumFront',我只需將關係改爲'forum = models.OneToOneField(Forum,default = None)',現在只需使用'{{forum}就可以在模板中捕獲forumfronts。 forumfront.topic_count}}' – Jand

+0

@Jand是的,'OneToOne'關係不映射到'_set'。 – Gocht

相關問題