好的,我有一个显示图片的主页。这可以从我的图像表中访问。它包含所有者的列,以用户ID的形式。我还有一个用户表,他们已经提交了这些图片。我该怎么做才能在显示图像时使用ID从用户表中获取用户名?
views.py:
def index(request):
context = {}
populateContext(request, context)
context.update(gallery=ImageDoc.objects.only('thumbfile').order_by('-id'))
return render(request, 'register/index.html', context)
所以在index.html页面中,我可以遍历' gallery'显示图像。像这样:
{% for image in gallery %}
<a href="/logo/{{ image.slug }}">
<img src="{{ MEDIA_URL }}{{ image.largethumbfile }}">
{{ image.title }} by {{ image.username }} for {{ image.price }}
</a>
{% endfor %}
&#34; image.username&#34;显然不起作用。我知道我需要访问users表:
get_users = User.objects.get()
重新格式化抓取图像数据:
get_images = ImageDoc.objects.get()
但我不知道确保数据匹配的下一步。有任何想法吗?谢谢!
答案 0 :(得分:0)
如果Images
表将Users
表作为外键,则每个Images
对象将具有user_id
参数。因此,如果您有一个名为given_user_id
的值,则可以执行以下操作:
Images.objects.get(user_id=given_user_id)
如果您有username
而不是user_id
,则可以执行以下操作:
Images.objects.get(user=User.objects.get(username=username))
不幸的是,您无法在模板块内执行查询。在将上下文对象传递给渲染函数之前,您需要进行任何查询。