gpt4 book ai didi

django - 外键和 Django 模板

转载 作者:行者123 更新时间:2023-12-03 11:59:42 25 4
gpt4 key购买 nike

所以问题来了。想象 2 个模型:摄影师和照片。严格的规则是图像只能有 1 个摄影师,所以在 Photo 中有一个外键链接到摄影师。


class Photographer(models.Model):
name = models.CharField(max_length = 40)

class Photo(models.Model):
name = models.CharField(max_length = 40)
photographer = models.ForeignKey(Photographer)

现在我想在主页上展示最著名的摄影师,其中包含 3 张最受欢迎的照片。所以它应该是这样的:

# views.py
def main(request):
photographers = ...
return render_to_response("main_page.html", {
"photographers": photographers
})

#main_page.html
{% for photo in photographers.photo_set.all()[:3] %}
{{ photo.name }}
{% endfor %}

但是 Django 模板系统不允许 all() 和 [:3]。那么最好的方法是什么?最明显的解决方案是动态创建对象(从摄影师和照片创建数组并将其传递给模板),但我认为这不是一个好方法。

请不要只是让我引用 Django 手册,我仔细阅读了它,但找不到答案......

最佳答案

尝试使用 slice filter :

{% for photo in photographers.photo_set.all|slice:":3" %}

请注意 .all不需要显式调用。

关于django - 外键和 Django 模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1282380/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com