我想要做的很简单:
f=Foobar.objects.get(id=1)
foo='somefield'
bar='somevalue'
f.foo=bar
f.save()
Run Code Online (Sandbox Code Playgroud)
这不起作用,因为它试图更新f对象的'foo'字段,当然这不存在.我怎么能做到这一点?
mik*_*iku 17
你可以使用setattr
:
f = Foobar.objects.get(id=1)
foo = 'somefield'
bar = 'somevalue'
setattr(f, foo, bar) # f.foo=bar
f.save()
Run Code Online (Sandbox Code Playgroud)
[
setattr
]是对应的getattr()
.参数是一个对象,一个字符串和一个任意值.该字符串可以命名现有属性或新属性.如果对象允许,该函数会将值分配给属性.
归档时间: |
|
查看次数: |
2990 次 |
最近记录: |