2013-04-06 72 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 %}