Django重组表中的项目(二维)

时间:2014-02-07 23:08:11

标签: django django-templates

我在显示表格中的项目时遇到问题,这些项目都按列和行重新分组。 我写了一个应用程序,员工可以记录工作日并设置状态(办公室,度假等)

我通过以下方式将所有日期项目传递给模板:

results = Tage.objects.filter(*args, **kwargs)

在模板中,我按

重新组合列
{% regroup results|dictsort:"employee.id" by employee as employee_entries %}

并循环播放

<tr>
<th>Date</th>
{% for ma in employee_entries %}
<th>{{ ma.grouper }}</th>
{% endfor %}
</tr>

这很好用。 接下来就是按天重新组合行。

{% regroup results|dictsort:"employee.id"|dictsortreversed:"starttime" by starttime|date:"d. E Y" as day_entries %}
{% for te in day_entries %}
<tr>
<th colspan="5" style="border-right: 0px;">{{ te.grouper }}</th>
</tr>

这也很好。

现在是棘手的部分:

我想显示员工记录日期的状态:

<tr>
<th>Status</th>
{% for result in te.list %}
<th>{{ result.status }}</th>
{% empty %}
<th></th>
{% endfor %}
</tr>

如果所有员工都记录了特定日期,那该工作正常。如果某人没有像其他人那样记录一天,则所有状态列都位于错误的位置。当然,这是因为 te.list 与员工列表的长度不同。

有没有人解决这个问题?我搜索了很多,但没有找到解决这个问题的直接解决方案。

提前致谢 康拉德

1 个答案:

答案 0 :(得分:0)

我决定在视图中渲染表头和主体,并将其传递给模板并使用

进行渲染
{{ theader|safe }}

等等。

这个问题对于Django模板系统的功能而言过于复杂。