考虑下面的代码:相关对象参考Django的
Models.py
class Advertisement(models.Model):
title = models.CharField(null=True, blank=True, max_length=30)
created_by = models.ForeignKey(User)
class Gallery(models.Model):
advertisement = models.ForeignKey(Advertisement, related_name='images')
image = models.ImageField(upload_to=image_directory_path, help_text="Your ad image (Recommended size: 1024x768)")
creation_date = models.DateTimeField(editable=False, default=timezone.now)
Views.py
def do_foo(request):
search_result = Advertisement.objects.all().order_by('-creation_date')
return render(request, 'content_search.html',
{
'search_result': search_result
})
page.html中
{% for ad in search_result %}
{% for ad_image in ad.gallery_set %}
<img src="{{ ad_image.image.url }}">
{% endfor %}
{% endfor %}
如何访问广告和G之间的倒退关系防敏感?我尝试过ad.gallery_set和ad.images_set,但我无法获取图像。
我试图按照他们在这里说的Django Relation Objects Reference和这个topic。
您给后向引用指定了一个明确的名称,因此它会按照您指定的方式调用:'Advertisement.images'。 '_set'只在未指定显式'related_name'时添加。 – dhke