我有模特这样Django的反向查询在模板
class Blog(models.Model):
name = models.CharField(max_length=100)
tagline = models.TextField()
def __unicode__(self):
return self.name
class Entry(models.Model):
blog = models.ForeignKey(Blog)
headline = models.CharField(max_length=255)
我想列出页面中所有博客。我已经写了这样
def listAllBlogs(request):
blogs= Blog.objects.all()
return object_list(
request,
blogs,
template_object_name = "blog",
allow_empty = True,
)
而且我可以显示博客的标语视图,使得图
{% extends "base.html" %}
{% block title %}{% endblock %}
{% block extrahead %}
{% endblock %}
{% block content %}
{% for blog in blog_list %}
{{ blog.tagline }}
{% endfor %}
{% endblock %}
但是我想表明,这样的事情blog__entry__name
,但我不知道该怎么我在模板中实现了这一点。 此外,博客中可能没有条目。我如何检测模板?
谢谢
下面的两个答案都是正确的,只是两个备注。为'blog'字段定义'related_name ='entries'',你就可以编写'blog.entries'。并使用'select_related()',而不是进行N + 1个SQL查询。 – DrTyrsa 2011-06-10 13:02:30