【发布时间】:2013-07-28 05:48:00
【问题描述】:
我正在尝试在我的模板中显示 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 的模型(行为)实例,它会显示 ManyToManyField 值
{% for gvtCompo in field.gvtCompo.all %}
改为
{% for gvtCompo in act.gvtCompo.all %}
但是表单域已经没有了,所以不能修改、验证和保存!
【问题讨论】:
-
试试这个 - {% for x,y in form.fields.gvtCompo.choices %}{% endfor %}
-
它给了我表格下我表中所有记录的列表:1,GvtCompo 对象,2,GvtCompo 对象...
-
您可以在模板中将其用作 {{ x }}{{ y }} value-name of value
-
问题是我想显示链接到我的实例的记录,而不是所有记录。
标签: django templates manytomanyfield