通过django模板formset中的GenericForeignKey访问字段

时间:2017-01-16 23:58:49

标签: python django django-templates generic-foreign-key

假设我有以下模型

class Holder(models.Model):
    other_field = models.BooleanField(default=True)
    object_type = models.ForeignKey(ContentType, on_delete=models.CASCADE)
    object_id = models.PositiveIntegerField()
    object = GenericForeignKey('object_type', 'object_id')

然后在views.py 中,我为Holder创建了一个formset,并将其传递给模板:

formset = modelformset_factory(Holder, fields =('other_field',))
data = {'formset': formset}

template.html 中,我想访问相关对象的一个​​字段。我尝试过:

{% for form in formset %}
     {{ form.object.related_field }}
     {{ form.other_field }}
{% endfor %}

然后,显示 other_field ,但 related_field 不显示。如何在模板中的 related_field 中显示值?

1 个答案:

答案 0 :(得分:0)

好的,我最后通过使用formset 实例

解决了这个问题
{% for form in formset %}
    {{ form.instance.object.related_field }}
    {{ form.other_field }}
{% endfor %}