我尝试在模板中显示模型中的字段名称。这适用于除 ManyToManyField 之外的任何类型的字段。
我在我的 models.py 中使用这个函数来返回所有字段。
def get_all_fields(self):
"""Returns a list of all field names on the instance."""
fields = []
# only display fields with values and skip some fields entirely
if f.editable and value and f.name not in ('id','lastname','firstname') :
fields.append(
{
'label':f.verbose_name,
'name':f.name,
'value':value,
})
return fields
在我的模板中,我使用这个循环来显示所有字段:
{% for f in modelname.get_all_fields %}
<td>{{f.label|capfirst}}</td><td>{{f.value|escape|urlize|linebreaks}}</td>
{% endfor %}
如前所述,这适用于除 ManyToManyFields 之外的所有字段。例如,我的一个 M2M 关系如下所示:
family = models.ManyToManyField('family', related_name="family", null=True, blank=True)
我会感谢每一个有助于解决这个问题的提示。
问候康拉德