在我的models.py任务中可以有多个Employer,所以我使用ManyToManyField
在我的views.py中,我得到了一个日期生成器 - 它从当天开始返回2周。
所以这是我的模板
<table>
<thead>
<tr>
<th>{% trans 'employer_id' %}</th>
{% for i in date_range %}
<th>{{ i }}</th>
{% endfor %}
</tr>
</thead>
<tbody>
{% for employer in employers %}
<tr>
<td>{{ employer.employer_id }}</td>
{% for t in employer.task_set.all %}
<td>{{ t }}</td>
{% empty %}
<td>0</td>
{% endfor %}
</tr>
{% endfor %}
</tbody>
</table>
我需要的是当我创建一个任务并将其分配给雇主时,它应该在html表中向我显示特定日期内每个雇主的任务的start_date。
到目前为止,我得到了以上代码:
^这些雇主的任务日期与表头中的天数不匹配。
答案 0 :(得分:0)
而不是
{% for t in employer.task_set.all %}
<td>{{ t }}</td>
{% empty %}
<td>0</td>
{% endfor %}
你需要再次迭代日期,因为你没有为每个日期创建<td>
。
{% for i in date_range %}
{% for t in employer.task_set.all %}
{% if t.start_date == i %}
<td>{{ t }}</td>
{% else %}
<td>-</td>
{% endif %}
{% empty %}
<td>0</td>
{% endfor %}
{% endfor %}