在模板中迭代Django queryset

在模板中迭代Django queryset,django,filter,iteration,Django,Filter,Iteration,我创建了一个自定义过滤器,用于返回对象的查询集 中:模板标签 @register.filter(name = 'create_html_for_deleting_notes') def create_html_for_deleting_notes(task_pk): corresponding_notes = Note.objects.filter(its_task = Task.objects.filter(pk = task_pk)) return(correspon

我创建了一个自定义过滤器,用于返回对象的查询集

中:模板标签

@register.filter(name = 'create_html_for_deleting_notes')
    def create_html_for_deleting_notes(task_pk):
    corresponding_notes = Note.objects.filter(its_task = Task.objects.filter(pk = task_pk))
    return(corresponding_notes)
在模板中:

{% for corresponding_task in corresponding_tasks %}
    <h5>{{ corresponding_task | create_html_for_deleting_notes }}<h5/>
{% endfor %}
{% for corresponding_task in corresponding_tasks %}
    {% for note in corresponding_task | create_html_for_deleting_notes %}
         {{ note }}
    {% endfor %}
{% endfor %}
但这给了我一个错误“for语句应该使用“for x in y”格式”


谢谢你的帮助

您需要删除过滤器
|
字符周围的空格

然而,我认为你根本不需要过滤器。您没有发布您的模型,但任务和注释之间似乎存在foreignkey关系,因此您应该只使用反向访问器:

{% for corresponding_task in corresponding_tasks %}
    {% for note in corresponding_task.note_set.all %}
         {{ note }}
    {% endfor %}
{% endfor %}

是的,我在任务和笔记之间有一种外键关系。你能给我发一个链接,告诉我在哪里可以看到关于如何在模板中使用这个反向访问器的文档吗?谢谢你,你就像我教你的那样使用它。但是医生们是。哦,我的错。非常感谢你!!!!我也做到了这一点:{%与相应的_task.pk{创建_html_用于删除作为notes%}{%的notes%}{{note}}{%endfor%}{%endwith%}{%endwith%}