我不确定解释它的最佳方法,所以我创建了一个示例图片并编制了一些数据:
我查看了这篇文章并知道我需要使用一些forloop模板内容:Displaying a Table in Django from Database
让我失望的部分是如何在表格中使用表格。例如,医生' Bob"有3个不同的患者。 Bob有一排,但Bob的患者专栏有3行。
Event
我无法找到这样的例子来解决问题并且不确定如何处理它。
我还需要这些患者链接到患者页面。因此,如果我点击鲍勃的病人' C755'我将被引导到该患者的页面。我想的是:
<table class="table table-striped table-bordered">
<thead>
<th>Name</th>
<th>Total Patient Meetings</th>
<th>Patient</th>
<th>Meetings for Patient</th>
</thread>
<tbody>
{% for doctor in query_results %}
<tr>
<td> {{ doctor.name }} </td>
<td> {{ doctor.total_meetings }}</td>
//*Would I have a nested forloop in here?*//
{% for patient in query_results2 %}
<td> {{patient.name }} </td>
<td> {{patient.meeting_number }}</td>
{% endfor %}
</tr>
{% endfor %}
</tbody>
</table>
感谢您的帮助。只是不确定最好的方法来解决这个问题。
答案 0 :(得分:0)
&#34; A&#39;相关经理&#39;是一对多对多或多对多的经理 相关背景。&#34; https://docs.djangoproject.com/en/1.10/ref/models/relations/
我无法看到doctor
和patient
之间的关系如何,但假设它是这样的:
class Patient(models.Model):
name = models.CharField(max_length=50)
class Doctor(models.Model):
patient = models.ManyToManyField(Patient, verbose_name='patients')
您可以使用:
轻松迭代doctor.patient
{% for doctor in doctors %}
{% for patient in doctor.patients.all %}
{{ patient.name }}
{% endfor %}
{% endfor %}
如果您没有关系的verbose_name
属性,那么您可以使用doctor.patients.all
而不是doctor.patients_set.all
。{/ p>
在患者页面中,您可以使用课程Patient
中的方法轻松完成此操作:
<a href="{{ patient.get_absolute_url }}">{{ patient.name }}</a>
&#34;在您的模型上使用get_absolute_url,它可以在每个对象的基础上处理它们,在整个网站上更简单,更清晰&#34;