テンプレートに ManyToManyField を表示しようとしています:
class GvtCompo(models.Model):
startDate=models.DateField(max_length=10, blank=False, null=False)
endDate=models.DateField(max_length=10, blank=False, null=False)
gvtCompo= models.CharField(max_length=1000, blank=False, null=False)
class Act(models.Model):
gvtCompo= models.ManyToManyField(GvtCompo)
私の見解では、問題なくオブジェクトを表示できます。
for gvtCompo in act.gvtCompo.all():
print gvtCompo.gvtCompo
私のテンプレートには、次のコードを含む「GvtCompo オブジェクト」のリストがあります (良くありません)。
{% for field in form %}
<div class="fieldWrapper">
{{ field.errors }}
{{ field }}
</div>
{% endfor %}
私はそれをより良くしようとしましたが、次のコードは機能しません(何も表示されません):
{% for field in form %}
{% if field.name == "gvtCompo" %}
{% for gvtCompo in field.gvtCompo.all %}
{{ gvtCompo.gvtCompo }}
{% endfor %}
{% endif %}
{% endfor %}
どうしたの?
*編集: *
フォームを使用せず、render_to_response に渡されたモデル (act) のインスタンスを使用すると、ManyToManyField の値が表示されます。
{% for gvtCompo in field.gvtCompo.all %}
に変更
{% for gvtCompo in act.gvtCompo.all %}
ただし、フォーム フィールドはもうないため、変更、検証、および保存することはできません。