在模板中,我想显示与“source-object”相关的所有对象的数据。
这是我想在文章详情页面上显示的事件模型:
### 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)
吗?
如何查看所有活动信息,我该怎么办?
非常感谢!
答案 0 :(得分:1)
你是对的,当渲染{{event}}
时,你只是看到它的表示,你在方法__unicode__
中定义为event_date字段。如果你想看到EventRecord的其他字段,就像这样渲染它们:
{% for event in events %}
{{ event.country }}
{{ event.location }}
.
.
.
{% endfor %}