gpt4 book ai didi

Python Django getattr() : attribute name must be string

转载 作者:太空宇宙 更新时间:2023-11-04 10:45:32 24 4
gpt4 key购买 nike

我正在使用 python、Django 并得到以下错误:

getattr(): attribute name must be string

location: val = getattr(obj, field)

if field in headers:
if not isinstance(field, str):
val = getattr(obj, field)
else:
val = getattr(obj, field.LastName)

if callable(val):
val = val()
if type(val) == unicode:
val = val.encode("utf-8")
row.append(val)

我尝试了很多代码变体,但都失败了。

最佳答案

您可以使用print(type(field)) 确认field 的对象类型。考虑到错误,它可能不是字符串。

查看您的代码,field 似乎是一个对象,其属性 是字符串,例如LastName。线路

val = getattr(obj, field)

阅读可能会更好

val = getattr(obj, field.someattribute)

如果 field.someattribute 不是字符串,您可以使用str(字段.someattribute)

总计 val = getattr(obj, str(field.someattribute))

关于Python Django getattr() : attribute name must be string,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17633821/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com