2

在模板中,我想显示与“源对象”相关的所有对象的数据。

这是我想在文章详细信息页面上显示的事件模型:

### 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)?
我需要做什么才能查看所有活动信息?

非常感谢!

4

1 回答 1

1

您是对的,在渲染时{{event}}您只是看到它的表示,您在方法中将其定义__unicode__为 event_date 字段。如果您想查看 EventRecord 的其他字段,只需像这样渲染它们:

{% for event in events %}
    {{ event.country }}
    {{ event.location }}
    .
    .
    .
{% endfor %}
于 2013-04-06T16:49:21.380 回答