Django:如何通过Template通过ForeignKey连接数据?

use*_*531 11 django templates foreign-keys django-related-manager

几个星期后,我正在学习Python和Django.到目前为止,已经足够阅读其他用户的问题和答案.但现在我的第一个问题的时刻已经到来.

我会尽力描述我的问题.我的问题是我无法查询或获取我想要的数据.

我想得到一个类Image的第一个对象的url,它由ForeignKey关联到一个Gallery,它由ForeignKey关联到类Entry.

这里到目前为止models.py:

class BlogEntry(models.Model):
   ...
   title = models.CharField(max_length=100)
   ...

class Gallery(models.Model):
   entry = models.ForeignKey('BlogEntry')

class Image(models.Model):
  gallery = models.ForeignKey('Gallery')
  picture = models.ImageField(upload_to='img')
Run Code Online (Sandbox Code Playgroud)

风景:

def view(request):
  return render_to_response('mainview.html', {
    'entryquery': BlogEntry.objects.all(),
    }
)
Run Code Online (Sandbox Code Playgroud)

模板:

{% for item in entryquery %}
  <h1>{{ item.title }}</h1>
  <img src="{{ item.WHAT TO ENTER HERE? :) }}" />
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

很明显我想要什么?有人可以帮助我,并在可能的时候写一个简短的解释?

问候巴斯蒂安

cbe*_*ner 15

您可以像模板中的其他属性一样访问相关成员,因此您可以执行以下操作:.但是,在BlogEntry上定义一个查找并返回相应图片的方法可能更容易,这样你就可以做到或者类似的东西item.gallery_set.all.0.image_set.all.0.picture.imgitem.first_image