1

モデル:

class Exercise (models.Model):
    name_e = models.CharField(max_length=50)

class Subject (models.Model):
    name_s = models.CharField(max_length=50)
    exercise = models.ForeignKey(Exercise)

意見:

exercise_all = Exercise.objects.all()
subject_all = Subject.objects.all()

私のSQLテーブルには、ForeignKeyを介して接続されたサブジェクトと演習が含まれています

ビュー変数をコンテキストとしてテンプレートに渡します。

{% for e_field in exercise_all %}
<table>
<tr><th>Header</th></tr>
    {% for s_field in subject_all %}
    <tr><td>{{ e_field.name_e }}</td></tr>
    {% endfor %}
</table>
{% endfor %}

たとえば、3種類の演習と演習に関連する10件のサブジェクト(subject1->exercise1、subject2->exercise1、subject3->exercise1、subject4->exercise2など)がある場合、テンプレートに3つのテーブルを表示したいと思います。各テーブルには、テーブル/エクササイズに対応するtr/サブジェクトのみが表示されます。{%if ... in ...%}で試しましたが、ビューで何らかの機能を実行する必要があるかもしれません。

4

1 に答える 1

2

この場合、次のように言うことができます。

{% for e_field in exercise_all %}
<table>
<tr><th>Header</th></tr>
    {% for s_field in e_field.subject_set.all %}
    <tr><td>{{ e_field.name_e }}</td></tr>
    {% endfor %}
</table>
{% endfor %}
于 2013-01-02T02:35:09.763 に答える