2015-06-20 56 views
0

在我的models.py任务可以有多个雇主,所以我使用ManyToManyFieldDjango模板 - 如何使用date生成器中的日期匹配模型datefield?

在我的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表中的每个雇主特定日期的任务的起始日期。 enter image description here

^这些雇主的任务的日期不与表头几天匹配:

到目前为止,我上面的代码得到这个。

回答

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 %}