我有模特這樣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