You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django模板中仅显示ForeignKey数值而非对象实例

解决方法

有三种常用方式可以实现只显示ForeignKey关联对象的ID值:

1. 模板中直接访问主键字段

在模板遍历vul1的时候,直接通过VID.id或者VID.pk获取ID值:

{% for item in vul1 %}
    {{ item.VID.pk }}
{% endfor %}

pk是Django中主键的通用别名,不管你的主键字段叫id还是其他名字都能生效,比直接用id更灵活。

2. 自定义vul模型的__str__方法

如果希望所有地方显示vul对象时都直接展示ID,可以修改vul模型,重写__str__方法:

class vul(models.Model):
    # 你的其他字段定义
    def __str__(self):
        return str(self.pk)

修改后,模板里直接写{{ item.VID }}就会显示对应的ID值。

3. 查询时提前指定获取ID字段

如果只需要VID的ID,不需要关联对象的其他数据,可以在视图查询时用values方法只提取需要的字段:

vul1 = clientvul.objects.all().values('Path', 'Product', 'isActive', 'client__pk', 'VID__pk')

然后在模板里通过{{ item.VID__pk }}来显示ID:

{% for item in vul1 %}
    {{ item.VID__pk }}
{% endfor %}

内容的提问来源于stack exchange,提问作者xMonkey1337

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 01:52:07