模板代码显示无结果

时间:2016-12-25 12:52:24

标签: python django templates django-queryset

我想在详细信息模板中显示数据库的值。因为我的模特:

class RiskFactor(models.Model):
    patient = models.ForeignKey(Patient, on_delete=models.CASCADE)
    examination = models.CharField(max_length=100, 
                                   choices=Examination_Choice,
                                   default='notchosenyet')
    hypertension = models.BooleanField(default=False)
    diabetes = models.BooleanField(default=False)

我想过滤第一次检查的值,所以我设计了这样的模板:

<ul>
{% for rfac in patient.riskfactor_set.all %}
  {% if rfac.examination == 'FIRST' %}
   <li>Hypertension: {{ rfac.hypertension }}<br/>
      Diabetes: {{ rfac.diabetes }}<br/>
  </li>
  {% endif %}
{% endfor %}
</ul>

但我的详细信息页面中没有显示任何值。有任何想法吗?

更新:只是我的转储故障。不得不写第一个&#39;而不是&#39; FIRST&#39;因为我定义了选择..

1 个答案:

答案 0 :(得分:0)

我会尝试以下操作以确保FIRST的情况在数据库中是正确的。在视图中,将以下内容添加到上下文字典中:

context['factors'] = patient.riskfactor_set.filter(examination__iexact='first')

在你的模板中:

<ul>
{% for rfac in factors %}
   <li>Hypertension: {{ rfac.hypertension }}<br/>
      Diabetes: {{ rfac.diabetes }}<br/>
  </li>
{% endfor %}
</ul>