给定的是一个名为“comment”的模型,它与称为“任务”的模型具有外键关系。
{% for task in tasks %}
{% for comment in task.comment_set.all %}
{{ comment }}
{% endfor %}
...
将此限制为5条评论的最佳方法是:
Entry.objects.all()[:5]
答案 0 :(得分:1)
你没有。你不应该在模板中做“实际工作”,这会破坏MVC pattern。
在视图中完成实际工作,并将数据传递给模板(使用上下文字典)。
def handle_comments(request):
tasks = Task.objects.all()
comments = {}
for task in tasks:
comments[task] = task.comment_set.all()[:5]
return render_to_response('commenting.html', {'comments': comments})
然后,您可以迭代模板中的评论:
{% for task, task_comments in comments.items %}{{ task }}{% endfor %}
答案 1 :(得分:1)
{% for task in tasks %}
{% for comment in task.comment_set.all|slice:"5" %}
{{ comment }}
{% endfor %}
{% endfor %}