在下面的代码中,data_var 是我来自 Django 查询的对象,即 data_var = Datavar.objects.all()。我有数据库字段,如 field1、field2、field3 等。在下面的代码中,我试图将字段名称作为var 中的字符串,然后说 tg.var 但我得到一个错误,因为对象没有属性 'var':
如果我说 tg.var,它应该被解释为 tg.field1 或 2 或 3。如何实现?
for tg in data_var:
for col in range(content.no_of_cols):
var = "field" + str(col)
tg.var
请您参考如下方法:
要使用字符串名称获取对象的属性,您应该使用 getattr 内置函数,这样会将您的代码转换为下一行:
for tg in data_var:
for col in range(content.no_of_cols):
var = "field" + str(col)
value = getattr(tg, var)
gettatr在 Python 文档中有解释。
