2015-06-20 25 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 %}