在模板中显示相关对象的数据 - Django
问题描述:
在模板中,我想显示与“源对象”相关的所有对象的数据。在模板中显示相关对象的数据 - 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)
?
我该怎么做才能看到全部活动信息?
非常感谢!
答
你是对的,渲染{{event}}
当你只是看到它的表现,你的方法__unicode__
作为活动日期字段定义。如果你想看到EventRecord的其他字段,只需像这样渲染它们:
{% for event in events %}
{{ event.country }}
{{ event.location }}
.
.
.
{% endfor %}