Python 循环的django模板某些表行仅显示一次

Python 循环的django模板某些表行仅显示一次,python,django,django-templates,django-template-filters,Python,Django,Django Templates,Django Template Filters,型号: 在我的sql表中,我有50多个用户,每个人都分配了一周中的一天(即user1->MON,user2->MON,user3->WED…) 在下面的模板中,我想显示带有日期和主题名称的表格, 但我只想作为用户组的负责人显示一次日期名称 class Subject (models.Model): name = models.CharField(max_length=50) day = models.CharField(max_length=50) 学科 {subjects_

型号:

在我的sql表中,我有50多个用户,每个人都分配了一周中的一天(即user1->MON,user2->MON,user3->WED…)

在下面的模板中,我想显示带有日期和主题名称的表格, 但我只想作为用户组的负责人显示一次日期名称

class Subject (models.Model):
    name = models.CharField(max_length=50)
    day = models.CharField(max_length=50)

学科
{subjects_all%}中字段的%
{%if-forloop.first%}
星期一
{%endif%}
{%if field.day==“MON”%}
{{field.name}
{%endif%}
{%if…}#您可能需要模板标记


或者,您可以使用将项目分组为天。

您尝试过吗?您可以在订购后对其进行排序。您需要在视图中执行此操作是的,我使用的是order_by(),但它只是按天对所有用户进行排序,这不是我的问题。这对每个用户只显示一次显示日没有帮助。我会改变你使用for循环的方式。我会循环一周中的每一天,打印出所有的用户,你能展示一段代码吗?你会怎么使用它?我必须承认我不明白如何在模板中使用循环
<table>
<tr class="head"><th>SUBJECTS</th></tr>

{% for field in subjects_all %}
    {% if forloop.first %}
    <tr class="head"><td colspan=5 align="center">MONDAY</td></tr>
    {% endif %}

    {% if field.day == "MON"  %}
    <tr><td>{{ field.name }}</td></tr>
    {% endif %}

    {% if ... } # <- ???
    <tr class="head"><td colspan=5 align="center">TUESDAY</td></tr>
    {% endif %}

    {% if field.day == "TUE"  %}

    <tr><td>{{ field.name }}</td></tr>

    {% endif %}

    (...)

{% endfor %}

</table>