django - 通过遍历所有字段并分配一个值来创建模型的实例

django - creating an instance of a model by looping through all fields and assigning a value

假设我的模型 Person 具有以下属性:foo1foo2foo3

你能做这样的事情吗?

fields = ['foo1', 'foo2', 'foo3']

p = Person()

for field in fields:
    p.field = 5

p.save()

应ADM

要求的一些解释

您有可在字段列表中更改的模型字段列表。对于多重分配,python 具有 built_in 函数 setattr https://docs.python.org/2/library/functions.html#setattr 为字段设置所有值后,您必须调用模型方法 save 将新值保存到数据库中。

fields = ['foo1', 'foo2', 'foo3']

p = Person()

for field in fields:
    setattr(p, field, 5)

p.save()