django - 通过遍历所有字段并分配值

时间:2018-04-25 09:59:47

标签: django models

假设我的模型Person包含以下属性:foo1foo2foo3

你能做这样的事吗?

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

p = Person()

for field in fields:
    p.field = 5

p.save()

1 个答案:

答案 0 :(得分:0)

应ADM要求的一些解释

您有用于更改字段列表的模型字段列表。对于多个赋值,python有build_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()