You need to enable JavaScript to run this app. Django Python遍历属性名集合获取CustomUser属性值的解决方法
优惠活动
大模型
产品
解决方案
定价
更多

Django Python遍历属性名集合获取CustomUser属性值的解决方法

问题原因

你循环中写的customuser.f属于固定属性访问语法,程序会直接查找CustomUser对象里名为f的属性,不会把遍历变量f存储的字符串值(比如'department')当作实际要访问的属性名,因此触发属性不存在的报错。

解决方法

使用Python内置的getattr()函数实现动态属性访问,这个函数可以传入对象、存储属性名的字符串变量,直接返回对应属性的存储值。

修改后的代码如下:

fieldx={'department','usertype','company'}

for f in fieldx:
    print(getattr(customuser, f))

如果需要避免属性不存在时再次触发报错,可以给getattr()传入第三个参数作为默认返回值,例如:

# 若属性不存在则返回None,不会抛出报错
print(getattr(customuser, f, None))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.28 09:24:03