私はこのような2つのモデルを持っています:
class ClassA(models.Model):
ida = models.AutoField(primary_key=True)
classb = models.ForeignKey(ClassB)
name = models.CharField(max_length=765)
class ClassB(models.Model):
idb = models.AutoField(primary_key=True)
name = models.CharField(max_length=765)
見出しClassA
の下にグループ化されたすべてのオブジェクトのリストを表示したいと考えています。ClassB
これは私が持っているビューです:
def show_class_a_objects(request):
class_b_objects = ClassB.objects.all().order_by('name')
class_a_objects = ClassA.objects.all().order_by('name')
return render_to_response('show_objects.html', {
'class_a_objects': class_a_objects, 'class_a_objects': class_a_objects,
})
私のshow_objects.html
ファイルは次のようになります。
{% extends "base_show.html" %}
{% block content %}
</p>
<table>
<th align="left">Name</th>
{% for b in class_b_objects %}
<tr>
<td>{{b.name}}</td>
</tr>
{% for a in class_a_objects %}
{% ifequal a.classb b %}
<tr>
<td><a href="{{ a.get_absolute_url }}">{{a.name}}</a></td>
</tr>
{% endifequal %}
{% endfor %}
{% endfor %}
</table>
</br>
{% endblock %}
ネストされた 2 つの for ループを使用する代わりに、これを行うより良い方法はありますか?