2013-04-06 112 views
2

在模板中,我想顯示與「源對象」相關的所有對象的數據。在模板中顯示相關對象的數據 - Django

這是我想說明的文章詳情頁面上的活動的模式:

### Models ### 
class EventRecord(models.Model): 
    article = models.ForeignKey(Article, related_name='events') 
    event_date = models.DateField('Event Date') 
    country = models.CharField(blank=True, max_length=100) 
    location = models.CharField(blank=True, max_length=100) 
    actors = models.CharField(blank=True, max_length=100) 
    . 
    . 
    . 
    def __unicode__(self): 
     return self.event_date 

這是我爲它寫了(這工作)的觀點:

### View ### 
def article_detail(request, pk): 
    """ Detail View for articles""" 
    article = get_object_or_404(Article, pk=pk) 
    events = article.events.all() 

    return render(request, 'coding/article-detail.html', {'article': article, 
    'events': events}) 
    pass 

這模板也起作用,但我看到的只是event_date信息。

### Template ### 
<div> 
<h2>Events</h2> 
{% for event in events %} 
    {{ event }} 
{% endfor %} 

</div> 

這是因爲__unicode__(self)
我該怎麼做才能看到全部活動信息?

非常感謝!

回答

1

你是對的,渲染{{event}}當你只是看到它的表現,你的方法__unicode__作爲活動日期字段定義。如果你想看到EventRecord的其他字段,只需像這樣渲染它們:

{% for event in events %} 
    {{ event.country }} 
    {{ event.location }} 
    . 
    . 
    . 
{% endfor %}