2015-11-02 93 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

相关问题