我在显示表格中的项目时遇到问题,这些项目都按列和行重新分组。 我写了一个应用程序,员工可以记录工作日并设置状态(办公室,度假等)
我通过以下方式将所有日期项目传递给模板:
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 与员工列表的长度不同。
有没有人解决这个问题?我搜索了很多,但没有找到解决这个问题的直接解决方案。
提前致谢 康拉德
答案 0 :(得分:0)
我决定在视图中渲染表头和主体,并将其传递给模板并使用
进行渲染{{ theader|safe }}
等等。
这个问题对于Django模板系统的功能而言过于复杂。