如何替换以下值?

时间:2014-02-13 09:36:48

标签: python django

让我们说这是我的模特

class A(models.Model):
name = models.CharField(max_length=10)

我有这个清单:

l = ['name']

我想这样做:

a = A()
a.l[0] = 'Jack'

为什么python不会从name替换list使a.name成为{{1}}? TIA

1 个答案:

答案 0 :(得分:3)

因为Python查找a.l,如果要找到它,它会尝试设置它的第一个元素。

您正在寻找setattr:

setattr(a, 'name', 'Jack')

setattr(a, l[0], 'Jack')