如何按值和该类别中的值列出组
To how list group by values and values in that category
我希望我的模板将按类别分组显示为 header,然后在其下按类别显示该分组的所有值。例如,我的 table 看起来像这样:
['John','Physics']
['Jim','Physics']
['Sam','Biology']
['Sarah','Biology']
我希望模板输出这个:
物理学
约翰
吉姆
生物学
山姆
莎拉
我不确定要在我的 veiws.py 中放入什么,因为我通常会在 SQL 中这样做 --> 首先按类别分组,然后 return 所有结果都在那个类别。
我的 veiws.py 和模板如何实现这一目标?谢谢
我现在的 veiws.py:
def department(request):
students = Students.objects.all().order_by('department')
return render(request, 'department.html', {
'students':students,
})
这是我的model.py
class Mentors(models.Model):
name = models.CharField(max_length=100)
degree = models.CharField(max_length=100)
department = models.CharField(max_length=100)
还有我的模板:
{% if mentors %}
<div class="row">
{% for mentor in mentors %}
<div class="col-xs-12 col-sm-6 col-md-6 col-lg-4">
<h3>{{ mentor.department }}</h3>
</div>
<div class="col-xs-12 col-sm-6 col-md-6 col-lg-4">
<div class="thumbnail">
<img src="{{ mentor.image.url }}" class="img-thumbnail">
<div class="caption">
<h4 class="text-center">{{ mentor.name }}, {{ mentor.degree }}</h4>
<p class="text-center"><small>{{ mentor.department }}</small></p>
</div>
</div>
</div>
{% endfor%}
</div><!-- /.end row -->
{% endif %}
模板 (department.html) 是您要列出所有学生的地方。你一定有类似这样的:
{% if students %}
{% for student in students %}
<p>{{ student.NAME_FIELD }}</p>
{{ student.DEPARTMENT_FIELD}}
{% endfor %}
{% else %}
No student are available.
{% endif %}
NAME_FIELD 和 DEPARTMENT_FIELD 是您在 model.py
中声明的字段
我希望我的模板将按类别分组显示为 header,然后在其下按类别显示该分组的所有值。例如,我的 table 看起来像这样:
['John','Physics']
['Jim','Physics']
['Sam','Biology']
['Sarah','Biology']
我希望模板输出这个:
物理学
约翰
吉姆
生物学
山姆
莎拉
我不确定要在我的 veiws.py 中放入什么,因为我通常会在 SQL 中这样做 --> 首先按类别分组,然后 return 所有结果都在那个类别。
我的 veiws.py 和模板如何实现这一目标?谢谢
我现在的 veiws.py:
def department(request):
students = Students.objects.all().order_by('department')
return render(request, 'department.html', {
'students':students,
})
这是我的model.py
class Mentors(models.Model):
name = models.CharField(max_length=100)
degree = models.CharField(max_length=100)
department = models.CharField(max_length=100)
还有我的模板:
{% if mentors %}
<div class="row">
{% for mentor in mentors %}
<div class="col-xs-12 col-sm-6 col-md-6 col-lg-4">
<h3>{{ mentor.department }}</h3>
</div>
<div class="col-xs-12 col-sm-6 col-md-6 col-lg-4">
<div class="thumbnail">
<img src="{{ mentor.image.url }}" class="img-thumbnail">
<div class="caption">
<h4 class="text-center">{{ mentor.name }}, {{ mentor.degree }}</h4>
<p class="text-center"><small>{{ mentor.department }}</small></p>
</div>
</div>
</div>
{% endfor%}
</div><!-- /.end row -->
{% endif %}
模板 (department.html) 是您要列出所有学生的地方。你一定有类似这样的:
{% if students %}
{% for student in students %}
<p>{{ student.NAME_FIELD }}</p>
{{ student.DEPARTMENT_FIELD}}
{% endfor %}
{% else %}
No student are available.
{% endif %}
NAME_FIELD 和 DEPARTMENT_FIELD 是您在 model.py
中声明的字段