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

Django模板中外键关联值显示:如何展示用户名而非用户ID

解决Django ForeignKey关联显示用户名的问题

有两种实用方法可以替换当前显示的用户ID,改为展示用户名:

方法一:模板中直接访问关联对象的用户名字段

created_by关联的是myperso_user的实例,你可以通过instance属性获取到完整的用户对象,再直接访问其username字段。考虑到created_by可能为null,建议添加默认值避免页面报错:

<h4>--- {{ ctx_form.created_by.instance.username|default:"未指定" }} ---</h4>

方法二:修改用户模型的__str__方法

在myperso_user模型中定义__str__方法,让用户对象默认输出用户名。这种方法能全局生效,在Django admin、表单渲染等其他场景中,用户对象也会自动显示用户名:

class myperso_user(AbstractUser):
    location = models.TextField(blank=False, null=True)
    
    def __str__(self):
        return self.username  # 将用户名设为对象的默认字符串展示内容

注意:如果继续使用.value获取值,仍然会返回ID,因此配合你的现有模板写法,方法一的直接修改更高效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 16:15:31